Опять про базу
При попытке переделать схему БД под использование полнотекстового поиска, наткнулся на замечательные грабли.
Что есть этот поиск? По сути ещё несколько индексов для таблицы. Но только не в sqlite! Там под это дело используется отдельный вид таблицы - виртуальная.
Самая печаль в том, что для неё не работают ни индексы на колонках кроме rowid, ни внешние ключи. Поэтому, как не меняй схему, что-нибудь да отвалится. Либо поиск, либо хрен вам, а не ускорение выборки по директории.
На две таблицы побить - опять же, не работают ключи. За целостностью базы следить - только вручную. Впрочем, для несложных случаев народ изъёбывается через триггеры, но это жуткий костыль.