SQLite FTS3 имитирует LIKE somestring% - PullRequest
6 голосов
/ 29 апреля 2010

Я пишу приложение для словаря, и при вводе текста нужно делать обычные подсказки.

LIKE somestring% довольно медленный (~ 1300 мс на таблице строк ~ 100k), поэтому я обратился к FTS3.

Проблема в том, что я не нашел вменяемого способа поиска с начала строки.
Сейчас я выполняю запрос типа

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

, затем проанализируйте строку смещения в коде.

Есть ли лучшие варианты?

1 Ответ

6 голосов
/ 29 апреля 2010

Да , обязательно установите индекс в поле word и используйте

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

вместо LIKE или MATCH или GLOB

...