Тюнинг медленных запросов в MySQL и как разобраться, почему MySQL отказывается использовать наши индексыБазы данных и системы хранения
Работает с MySQL (консультирование) c 2006 года (работал в MySQL AB/Sun Mircosystems/Oracle). С 2013 года работает в компании Percona (США). Занимался консультированием в области производительности MySQL для больших и маленьких клиентов (например, Twitter).
Что делать, если запросы работают медленно, и MySQL отказывается использовать индекс? В данной презентации я расскажу, как оптимизировать медленные запросы в MySQL и разобраться, что происходит.
Типичный пример - запрос с join, group by, order by. Типичное решение - создать индексы. Однако не все так просто - в некоторых случаях MySQL не использует индекс или использует не тот индекс, который нам бы хотелось. Чтобы разобраться с такими случаями и понять, что происходит, мы будем использовать новые возможности MySQL 5.7 и 8.0 - optimizer trace, performance_schema (новые таблицы) и другие возможности.
В результате мы сможем лучше понять, что происходит внутри MySQL optimizer, и сможем оптимизировать медленные запросы.