У меня большая таблица с 5 миллионами слов. Мне нужно найти слова, начинающиеся со строки Dynami c. Но когда я использую оператор LIKE со строковой переменной, запрос становится слишком длинным.
Например, этот запрос занимает 1,3 секунды:
set @pattern = 'f%';
select * from words where Word like @pattern limit 100;
Следующий запрос занимает 0,0 секунды:
select * from words where Word like 'f%' limit 100;
Но оба запроса выполняют одну и ту же работу.
В чем может быть причина, почему запросы сильно различаются по продолжительности? Как устранить эту разницу?