Как MySQL хранит индексы? - PullRequest
       2

Как MySQL хранит индексы?

5 голосов
/ 08 ноября 2011

Просто вопрос. Один из моих сайтов стал значительно медленнее. Время загрузки занимает более 30 секунд на 30 тыс. Строк. Я должен сказать, что запросы не оптимизированы, поэтому можно выполнить 10 тыс. Запросов, но, тем не менее, я считаю, что это занимает слишком много времени ... Итак, я решил, что давайте проверим индексы. После просмотра некоторых «проблемных» таблиц я увидел, что сделал индекс по нескольким столбцам, но количество элементов отображается только в 1 столбце, а остальные индексы имеют 0 элементов.

Я сделал неправильные индексы? Другими словами, должен ли я составить индекс для каждого столбца вместо их объединения?

1 Ответ

3 голосов
/ 08 ноября 2011

Это почти наверняка тот случай, когда вы создали неправильные индексы. Большинство людей делают! : -)

Нет правила создания индексов для нескольких столбцов по сравнению с отдельными столбцами. Лучшие индексы для создания зависят от выполняемых вами запросов, а не от схемы базы данных.

Анализ запросов и определение индексов - это кропотливый процесс. Вы можете использовать EXPLAIN , чтобы увидеть, как данный запрос использует существующие индексы. Обязательно прочитайте документы:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...