Spec-Zone.ru › MySQL 9.2

30.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. Это ограниченная операция, поэтому процедуре требуются привилегии, достаточные для установки ограниченных переменных сеанса. См. Раздел 7.1.9.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/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/init                           | 331.07 ns |
...
| 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-8.4-en/sys-ps-trace-statement-digest.html

Spec-Zone.ru

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