Ускорить выборку like '%someword%'

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
bser
Сообщения: 4
Зарегистрирован: 02 фев 2007, 22:22

Ускорить выборку like '%someword%'

Сообщение bser » 06 фев 2007, 13:07

Есть ли способ создания такого индекса или их наборов для УСКОРЕНИЯ выполнения этого запроса в огромной таблице (1 млн. записей) для firebird 2.0?
Почему MySQL этот запрос с теми же данными делает с использованием индекса мгновенно?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 06 фев 2007, 13:18

мгновенно никак не может быть, без полнотекстового поиска.
потому что никакие стандартные индексы (b-trees), используемые в СУБД, не могут производить поиск посередине строки.

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 06 фев 2007, 13:23

Лично я бы для ускорения такого поиска сложил бы отдельные слова в отдельную табличку и искал на равенство.

Ответить