Сервис от компании Percona для создания оптимальной конфигурации MySQL серверов и анализа SQL-запросов
Предлагаю ознакомиться с сервисом от компании Percona, который позволяет правильно настроить конфигурацию MySQL сервера на основе конкретных условий использования и проанализировать используемые SQL-запросы на наличие ошибок и недочетов.
Анализ запросов в данном сервисе — не является заменой команде EXPLAIN, которая ориентирована на анализ производительности запроса, а является скорее дополнением, которое анализирует запрос с точки зрения его синтаксиса.
Percona is an open source software company specializing in MySQL Support, Consulting, Managed Services, and Training. The company was founded in 2006 by Peter Zaitsev and Vadim Tkachenko[1][2] and is headquartered in Durham, North Carolina. The company launched a MySQL Backup Service in June 2014 as part of its Managed Services.[3] The company contributes to the MySQL community through its blog site, the MySQL Performance blog.[4] The company also hosts annual MySQL user conferences[5] named «Percona Live» in Silicon Valley and London. The company’s founders have also published the O’Reilly book «High Performance MySQL».[6]
После регистрации на сайте по адресу https://tools.percona.com, Вам становятся доступными два сервиса:
«Configuration wizard» и «Query adviser». Рассмотрим их подробнее
Configuration wizard — позволяет на основе пошагового опроса (всего 7 шагов) получить готовую конфигурацию my.cnf в которой учтены именно ваши условия работы.
Пример экрана с запросом:
Так выглядит экран с итоговой конфигурацией (на скриншоте часть my.cnf файла):
Query adviser — позволяет указав SQL запрос получить рекомендации по его оптимизации с точки зрения синтаксиса (еще раз подчеркну, что сервис не анализирует план выполнения запроса ввиду отсутствия данных о конфигурации сервера и наличия индексов).
Пример запроса:
SELECT
p.shopId,
p.typeId,
MIN(p.price) AS price
FROM
modelPrice p,
modelItem i
WHERE
p.modelItemId = i.id AND
i.modelId = '5250' AND
p.price > 0
GROUP BY
p.shopId,
p.typeId
Рекомендации сервиса:
и более развернуто
Все конфигурации и анализы SQL-запросов сохраняются в dashboard для последующего анализа и использования.
В заключение хотелось бы отметить, что несмотря на наличие большого количества подробных руководств и статей по настройке MySQL, данные сервисы могут полезны как для начинающих, так и опытных разработчиков, поскольку систематизируют в компактной форме рекомендации данные в документации.