Индексы MySQL - сколько достаточно?
Я пытаюсь настроить свой сервер MySQL, чтобы проверить свои настройки, проанализировать журнал медленных запросов и, по возможности, упростить свои запросы.
Иногда достаточно, если я правильно индексирую, иногда нет. Я где-то читал (пожалуйста, исправьте меня, если это глупость), что больше индексов, чем мне нужно, дают такой же эффект, как если бы у меня не было ни одного из индексов.
Сколько индексов достаточно? Вы можете сказать, что это зависит от сотен факторов, но мне интересно, как я могу очистить свойmysql-slow.log
достаточно, чтобы уменьшить нагрузку на сервер.
Кроме того, я увидел некоторые "интересные" записи журнала как это:
# Query_time: 0 Lock_time: 0 Rows_sent: 22 Rows_examined: 44
SELECT * FROM `categories` ORDER BY `orderid` ASC;
В рассматриваемой таблице содержится ровно 22 строки, индекс установлен вorderid
, Почему этот запрос появляется в журнале в конце концов? Зачем проверять 44 строки, если они содержат только 22?