MySQL 怎么定位线上慢 SQL?
① 慢查询日志:long_query_time=1 开启,mysqldumpslow/pt-query-digest 汇总 TOP;② 实时查看:SHOW FULL PROCESSLIST / information_schema.processlist 抓正在执行的慢语句;③ 监控:云监控/自建(Prometheus mysqld_exporter)看慢查询数量、执行时间趋势;④ 定位到 SQL 后 EXPLAIN 分析:扫描行数、索引使用、临时表/文件排序;⑤ 结合业务:参数化统计同类慢 SQL 频次与耗时;⑥ 工具:Percona Toolkit(pt-query-digest、pt-index-usage)、sys 库(sys.statement_analysis 直接出汇总)。修复:加索引、改写 SQL、分批、限流。
一起交流
分享经验,让问题更进一步
讨论,从你的观点开始
还没有回复,欢迎补充经验或分享不同的思路。