SuperAPI AI 工具集

mariadb-errors-slow-queries

通用与其它

查看项目

更新于 10-15 22:18

技能介绍

用途:当查询变慢需要诊断时,本技能提供 MariaDB 慢查询的捕获、聚合与处理流程,覆盖慢查询日志、performance_schema 摘要、EXPLAIN/ANALYZE 信号以及文件排序与索引排序的区分。

主要能力:开启并配置慢查询日志(slow_query_log=ON、long_query_time=0.5、log_slow_verbosity=query_plan,explain);用 pt-query-digest 按指纹聚合,输出 95 分位、均值、总时间与锁时间;用 mariadb-dumpslow 作无外部工具时的回退;从 performance_schema.events_statements_summary_by_digest 取全负载 Top-N;用 EXPLAIN 与 ANALYZE FORMAT=JSON SELECT 对比估算行数与实际 r_rows;识别 type=ALL、key=NULL、Using filesort、Using temporary 等信号;检测缺失索引(sum_no_index_used)。

使用方式:在 my.cnf 的 [mariadb] 段配置,或用 SET GLOBAL 动态开启(如 SET GLOBAL slow_query_log=ON; SET GLOBAL long_query_time=0.5;),10.11+ 可用新变量名 log_slow_query、log_slow_query_time 等;聚合命令如 pt-query-digest /var/log/mysql/mariadb-slow.log 与 mariadb-dumpslow -s t /var/log/mysql/mariadb-slow.log。

适用场景:生产环境子秒级慢查询排查、按指纹定位高频慢 SQL、单条查询的性能剖析。

限制:ANALYZE FORMAT=JSON 的 UPDATE/DELETE 会真实执行变更,只能对 SELECT 使用;不覆盖 EXPLAIN 语义深入、索引设计、InnoDB 缓冲池调优、死锁诊断等主题;performance_schema 默认关闭且开启需重启。