2010-04-29 10 views
6

Estoy escribiendo una aplicación de diccionario y necesito hacer la palabra habitual que sugiere mientras escribo.SQLite FTS3 simule LIKE somestring%

LIKE somestring% es bastante lento (~ 1300ms en una tabla ~ 100k fila) así que he recurrido a FTS3.

El problema es que no he encontrado una forma sensata de buscar desde el comienzo de una cadena.
Ahora estoy realizando una consulta como

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

, a continuación, analizar la cadena de compensaciones en el código.

¿Hay alguna opción mejor?

Respuesta

6

, asegúrese de ajustar el índice en el campo word y utilizar

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

en lugar de LIKE o fósforo o GLOB

Cuestiones relacionadas