MySQL Индексы

Файловая система и MySQL

В MySQL информация хранится в файлах. А что такое файл? Это не атомарная величина, а совокупность блоков информации, разбросанных по диску. Если блоков много, и нужно перебирать все — то поиск значительно затрудняется.

Для решения задачи быстрого поиска по базе и создан индекс — преобразованный набор значений. К примеру, у нас есть запись в базе «Вася Пупкин». Система по некоторому правилу его преобразует в число, например «17». А при попытке поиска — решается обратная задача — если запросили «Вася Пупкин», значит ищем число 17 и отображаем запись. Это похоже на алфавиные буквы в старых телефонных справочниках.

Когда сам разбирался, наткнулся на классную статью. Она мне настолько понравилась, что я загрузил её на свой сервер. Если хотите разобраться в этой теме — советую прочитать. MySQL Индексы

Как создать индексы в MySQL?

1

Теперь оператор Select будет работать гораздо быстрее…

Можно создать уникальные индексы, для полей, записи, которых уникальны…

2

Когда использовать составные индексы ?

Если мы делаем запросы сразу по нескольким полям, например по 2-м, …..where age>23 and sex=male… тогда лучше использовать составной индекс. Он эффективен при использовании AND…

3

 

 

Как проверить эффективность индекса?

4

 

Как удалить индекс?

DROP INDEX index_name ON table_name

Как включить slow log в MySQL?

Чтобы включить лог медленных запросов, нужно открыть конфигурационный файл MySQL (путь может отличаться):

5

и поправить там настройки:

6

  • log_slow_queries указывает путь к файлу настроек
  • long_query_time указывает минимальное время выполнения запроса, после которого он считается медленным в секундах,

После этого необходимо перезапустить MySQL:

/etc/init.d/mysql restart

После этого в файл /var/log/mysql/mysql-slow.log будут попадать медленные запросы, которые Вам прийдется оптимизировать.


[block id=»mysql-first-steps»]

Добавить комментарий