Инструменты и методики профилирования SQL-запросов MySQL и стоимости запросов - PullRequest
1 голос
/ 03 декабря 2008

Работая с Microsoft SQL Server, я обнаружил чрезвычайно полезные средства профилирования SQL Server и примерный план выполнения (доступны в Management Studio) для оптимизации запросов во время разработки и мониторинга производственной системы.

Существуют ли аналогичные инструменты (с открытым исходным кодом или коммерческие) или методы, доступные для MySQL?

Ответы [ 3 ]

3 голосов
/ 03 декабря 2008

Вы можете получить информацию о том, как будет выполняться запрос, используя EXPLAIN.

Например:

EXPLAIN SELECT * FROM foo INNER JOIN bar WHERE foo.index = 1 AND bar.foo_id = foo.id

Затем он скажет вам, какие индексы будут использоваться, в каком порядке таблицы будут объединены, сколько строк он будет выбирать из каждой таблицы и т. Д.

2 голосов
/ 18 декабря 2008

Как предполагает Роборг, вы можете использовать EXPLAIN, чтобы показать детали того, как MySQL будет выполнять ваш запрос. Я нашел эту статью более полезной, так как она говорит вам, как интерпретировать результаты и улучшить ваш SQL.

Также полезны эти статьи о конфигурации кэша запросов и с использованием ALTER TABLE для добавления и удаления индексов.

0 голосов
/ 18 сентября 2014

Вы также можете посмотреть на http://dev.mysql.com/doc/refman/5.5/en/server-status-variables.html#statvar_Last_query_cost. Это поможет узнать, лучше ли запрос, с точки зрения циклов ЦП или сканирования таблиц.

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