Spec-Zone.ru › MySQL 5.7

26.4.4.22 Процедура ps_trace_statement_digest()

Отслеживает все инструменты Performance Schema для определенного дайджеста инструкции.

Если вы найдете инструкцию, представляющую интерес в таблице Performance Schema events_statements_summary_by_digest, укажите значение MD5 ее столбца DIGEST в этой процедуре и укажите продолжительность и интервал опроса. Результатом будет отчет обо всех статистических данных, отслеживаемых в Performance Schema для этого дайджеста в течение указанного интервала.

Процедура также пытается выполнить EXPLAIN для самого длительного примера дайджеста в течение интервала. Эта попытка может завершиться неудачей, так как Performance Schema обрезает длинные SQL_TEXT значения. Вследствие этого, EXPLAIN завершается неудачно из-за ошибок разбора.

Эта процедура отключает двоичный журнал во время своего выполнения, изменяя значение сеанса системной переменной sql_log_bin. Это ограниченная операция, поэтому процедура требует привилегий, достаточных для установки ограниченных переменных сеанса. См. Раздел 5.1.8.1, “Привилегии системных переменных”.

Параметры
  • in_digest VARCHAR(32): Идентификатор дайджеста инструкции для анализа.

  • in_runtime INT: Время выполнения анализа в секундах.

  • in_interval DECIMAL(2,2): Интервал анализа в секундах (может быть дробным), с которым необходимо пытаться делать снимки.

  • in_start_fresh BOOLEAN: Нужно ли обрезать таблицы Performance Schema events_statements_history_long и events_stages_history_long перед началом.

  • in_auto_enable BOOLEAN: Нужно ли автоматически включать необходимые потребители.

Пример
mysql> CALL sys.ps_trace_statement_digest('891ec6860f98ba46d89dd20b0c03652c', 10, 0.1, TRUE, TRUE);
+--------------------+
| SUMMARY STATISTICS |
+--------------------+
| SUMMARY STATISTICS |
+--------------------+
1 row in set (9.11 sec)

+------------+-----------+-----------+-----------+---------------+------------+------------+
| executions | exec_time | lock_time | rows_sent | rows_examined | tmp_tables | full_scans |
+------------+-----------+-----------+-----------+---------------+------------+------------+
|         21 | 4.11 ms   | 2.00 ms   |         0 |            21 |          0 |          0 |
+------------+-----------+-----------+-----------+---------------+------------+------------+
1 row in set (9.11 sec)

+------------------------------------------+-------+-----------+
| event_name                               | count | latency   |
+------------------------------------------+-------+-----------+
| stage/sql/checking query cache for query |    16 | 724.37 us |
| stage/sql/statistics                     |    16 | 546.92 us |
| stage/sql/freeing items                  |    18 | 520.11 us |
| stage/sql/init                           |    51 | 466.80 us |
...
| stage/sql/cleaning up                    |    18 | 11.92 us  |
| stage/sql/executing                      |    16 | 6.95 us   |
+------------------------------------------+-------+-----------+
17 rows in set (9.12 sec)

+---------------------------+
| LONGEST RUNNING STATEMENT |
+---------------------------+
| LONGEST RUNNING STATEMENT |
+---------------------------+
1 row in set (9.16 sec)

+-----------+-----------+-----------+-----------+---------------+------------+-----------+
| thread_id | exec_time | lock_time | rows_sent | rows_examined | tmp_tables | full_scan |
+-----------+-----------+-----------+-----------+---------------+------------+-----------+
|    166646 | 618.43 us | 1.00 ms   |         0 |             1 |          0 |         0 |
+-----------+-----------+-----------+-----------+---------------+------------+-----------+
1 row in set (9.16 sec)

# Truncated for clarity...
+-----------------------------------------------------------------+
| sql_text                                                        |
+-----------------------------------------------------------------+
| select hibeventhe0_.id as id1382_, hibeventhe0_.createdTime ... |
+-----------------------------------------------------------------+
1 row in set (9.17 sec)

+------------------------------------------+-----------+
| event_name                               | latency   |
+------------------------------------------+-----------+
| stage/sql/init                           | 8.61 us   |
| stage/sql/Waiting for query cache lock   | 453.23 us |
| stage/sql/init                           | 331.07 ns |
| stage/sql/checking query cache for query | 43.04 us  |
...
| stage/sql/freeing items                  | 30.46 us  |
| stage/sql/cleaning up                    | 662.13 ns |
+------------------------------------------+-----------+
18 rows in set (9.23 sec)

+----+-------------+--------------+-------+---------------+-----------+---------+-------------+------+-------+
| id | select_type | table        | type  | possible_keys | key       | key_len | ref         | rows | Extra |
+----+-------------+--------------+-------+---------------+-----------+---------+-------------+------+-------+
|  1 | SIMPLE      | hibeventhe0_ | const | fixedTime     | fixedTime | 775     | const,const |    1 | NULL  |
+----+-------------+--------------+-------+---------------+-----------+---------+-------------+------+-------+
1 row in set (9.27 sec)

Query OK, 0 rows affected (9.28 sec)

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/sys-ps-trace-statement-digest.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API