Как с помощью Show profile получить информацию о конкретном запросе

Есть такая замечательная конструкция как: SHOW PROFILE FOR QUERY 1;
1 - Query_id. Как мне узнать этот query_id? Хочу написать программу, которая по тексту запроса выдаёт его профиль, но не знаю как получить этот пресловутый Query ID чтобы осуществить запрос, описанный в первом редложении
  • Вопрос задан
  • 2494 просмотра
Пригласить эксперта
Ответы на вопрос 2
pavel_salauyou
@pavel_salauyou
Symfony2 & Angular разработчик
Комментировать
golotyuk
@golotyuk
Чтобы получить ID, нужно включить профилирование, тогда ID запроса можно будет взять из SHOW PROFILES:
mysql> SET profiling = 1;
Query OK, 0 rows affected (0.00 sec)

mysql> DROP TABLE IF EXISTS t1;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> CREATE TABLE T1 (id INT);
Query OK, 0 rows affected (0.01 sec)

mysql> SHOW PROFILES;
+----------+----------+--------------------------+
| Query_ID | Duration | Query                    |
+----------+----------+--------------------------+
|        0 | 0.000088 | SET PROFILING = 1        |
|        1 | 0.000136 | DROP TABLE IF EXISTS t1  |
|        2 | 0.011947 | CREATE TABLE t1 (id INT) |
+----------+----------+--------------------------+


Query_ID - то, что Вам нужно.

Я бы посоветовал использовать Maatkit для анализа всего лога медленных запросов.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы