У меня есть база данных, которую я пытаюсь проиндексировать
Индекс, который я создал, выглядит следующим образом:
CREATE INDEX <name> ON geoplanet_places(name(15));
Когда я запускаю следующий запрос:
SELECT * FROM geoplanet_places WHERE name LIKE "vancouver%";
Результат возвращается менее чем за 1 секунду
Когда я запускаю этот запрос (обратите внимание на дополнительный символ '%'):
SELECT * FROM geoplanet_places WHERE name LIKE "%vancouver%";
Время возврата результата значительно увеличивается, иногда превышая 9 секунд. Это примерно столько же времени, сколько потребовалось для индексации базы данных.
База данных содержит более 5 миллионов записей, я понимаю, почему она замедляется. Что я хотел бы знать, так это то, есть ли в любом случае символ подстановки перед именем без столь значительного снижения производительности в MySQL.
Заранее спасибо.