2015-03-31 1 views
0

Итак, я понимаю, что предложение, подобное (x GLOB 'abc*'), может быть заменено на (x >= 'abc' AND x < 'abd'), но я использую предложение, которое выглядит так: (x GLOB '*abc*'), и это дорогостоящая операция. Есть ли способ заменить его так же, как первое выражение было заменено?Можно ли заменить это предложение glob в SQLite?

+1

Нет, это не может быть упрощено, потому что вам нужно искать везде в строке. – Barmar

+0

@ Бармар Это то, что я подозревал. Я просто чувствовал, что может быть более быстрый, но немного менее точный способ. Спасибо, что подтвердили это. Знаете ли вы что-нибудь быстрее, чем глобус, который делает то же самое? Я предполагаю, что это самый быстрый результат. – Mukhi

+1

См. Расширение полнотекстового поиска SQLite. – Barmar

ответ

1

Нет, нет способа упростить поиск строк в середине столбца, кроме использования полнотекстовых индексов.

+0

FTS не позволяет искать в середине слов. –