Предлагаю ознакомиться с сервисом от компании Percona, который позволяет правильно настроить конфигурацию MySQL сервера на основе конкретных условий использования и проанализировать используемые SQL-запросы на наличие ошибок и недочетов.
Анализ запросов в данном сервисе — не является заменой команде EXPLAIN, которая ориентирована на анализ производительности запроса, а является скорее дополнением, которое анализирует запрос с точки зрения его синтаксиса.
После регистрации на сайте по адресу 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, данные сервисы могут полезны как для начинающих, так и опытных разработчиков, поскольку систематизируют в компактной форме рекомендации данные в документации.
Автор: DVLev