У меня есть базы данных, что я пытаюсь индексMySQL Indexing Database Performance Issue
Индекс Я создал выглядит следующим образом:
CREATE INDEX <name> ON geoplanet_places(name(15));
Когда я запускаю следующий запрос:
SELECT * FROM geoplanet_places WHERE name LIKE "vancouver%";
Результат не возвращается менее чем за 1 секунду
Когда я запускаю этот запрос (обратите внимание на приход Al «%» дикая карта):
SELECT * FROM geoplanet_places WHERE name LIKE "%vancouver%";
В результате время возвращения значительно увеличивается, иногда с тактовой частотой более чем 9 секунд. Это примерно столько же времени, сколько потребовалось до того, как база данных была проиндексирована.
База данных содержит более 5 миллионов записей, я понимаю, почему она замедляется. То, что я хотел бы знать, заключается в том, что в любом случае для создания дикой карты перед именем не требуется такой огромный удар производительности в MySQL.
Заранее спасибо.
Работает отлично, спасибо за помощь! – ThreadedLemon