2010-04-29 10 views
6

मैं एक शब्दकोश ऐप लिख रहा हूं और लिखते समय सुझाव देने वाले सामान्य शब्द को करने की आवश्यकता है।SQLite FTS3 अनुकरण की तरह अनुकरण%

LIKE somestring% धीमा है (~ ~ 100k पंक्ति तालिका पर ~ 1300ms) इसलिए मैं FTS3 में बदल गया हूं।

समस्या यह है कि, मुझे स्ट्रिंग की शुरुआत से खोजने के लिए कोई रास्ता नहीं मिला है।
अब मैं

SELECT word, offsets(entries) FROM entries WHERE word MATCH '"chicken *"'; 

की तरह एक पूछताछ कर रहा हूँ, तो कोड में ऑफसेट स्ट्रिंग पार्स।

क्या कोई बेहतर विकल्प हैं?

उत्तर

6

हाँ, बनाने के क्षेत्र word पर सूचकांक की स्थापना की और

word >= 'chicken ' AND word < 'chicken z' 

के बजाय पसंद करते हैं या मैच का उपयोग करें या

ग्लोब के लिए सुनिश्चित
संबंधित मुद्दे