mysql как повышение производительности

там должен так или иначе ускорить mysql как производительность оператора, если подстановочный знак включен? например, как '%test %'

20
задан MPelletier 18 January 2014 в 16:25
поделиться

2 ответа

MySQL может использовать индекс, если ваш запрос выглядит как foo LIKE 'abc%' или foo LIKE 'abc%def%'. Он может использовать индекс для любой части или строки перед первым подстановочным знаком. Если вам нужно найти слово в любом месте строки, лучше использовать индексы FULLTEXT.

Более подробно об индексах: http://dev.mysql.com/doc/refman/5.1/en/mysql-indexes.html

Полнотекстовый поиск: http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html

27
ответ дан 30 November 2019 в 00:27
поделиться

Что ж, самая простая оптимизация - иметь постоянный префикс (например, «test%» вместо «% test» или «% test%» ]), поскольку это позволит движку сузить область поиска с помощью индексов. Однако это возможно не во всех ситуациях.

Иногда этап предварительной обработки может превратить поиск по шаблону в обычный поиск по равенству или полнотекстовый поиск. Вы получите больше, найдя способ структурировать свои данные так, чтобы он не требовал поиска по шаблонам, чем пытаясь оптимизировать последний.

5
ответ дан 30 November 2019 в 00:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: