2013-09-12 5 views
2

Я создаю виртуальную таблицу для поиска текста в базе данных.Поиск в виртуальной таблице (FTS3) в sqlite

CREATE VIRTUAL TABLE testtable USING FTS3 (
id INTEGER, -- this field have duplicate values 
test1 INTEGER, 
test2 INTEGER, 
test3 TEXT 
) 

Это слово, но когда я хочу найти специальный идентификатор, сделайте очень медленным.
также я не могу индексировать поля «ID» и получаю ошибку:

virtual tables may not be indexed 

хотите найти, как это:

select * from testtable where id = 48880 

как сделать быстрый поиск по этому запросу, я быстро без поиска FTS.

ответ

2

В таблицах FTS только запросы FTS бывают быстрыми.

Значения в столбце id индексируются как слова, так что вы должны искать их как слова:

SELECT * FROM testtable WHERE id MATCH '48880' 
Смежные вопросы