问题2:mysql的表performance_schema.events_statements_summary_by_digest数据写满的情况下,如何计算出高频次执行的sql及时间耗费?
时间: 2023-12-10 22:06:20 浏览: 183
显示 sql 执行效率.
当MySQL的表performance_schema.events_statements_summary_by_digest数据写满时,您可以使用以下查询来计算高频次执行的SQL及其时间耗费:
```
SELECT
SCHEMA_NAME,
DIGEST_TEXT,
COUNT_STAR,
SUM_TIMER_WAIT/1000000000000 AS total_latency,
AVG_TIMER_WAIT/1000000000000 AS avg_latency
FROM
performance_schema.events_statements_summary_by_digest
WHERE
SCHEMA_NAME = 'your_schema_name'
ORDER BY
COUNT_STAR DESC
LIMIT 10;
```
这将显示在指定架构中执行次数最多的前10个SQL语句及其总延迟时间和平均延迟时间。您可以将“your_schema_name”替换为您要查询的架构名称。
另外,您还可以使用一些工具来帮助您分析MySQL的性能,例如pt-query-digest和mysqlsla等。这些工具可以帮助您分析MySQL的慢查询日志,并找出慢查询和问题SQL语句。
阅读全文