慢 SQL 与那次请求
慢 SQL 直接关联服务、链路与用户录像。DBA 看到的是现场,不是截图。
一条 SQL 的问题,往往不在 SQL 里
同一条语句,在不同时间、不同参数下表现完全不同。只看数据库内部的统计,很难知道是哪一次请求把它拖慢的。
Diting 把语句放回请求里:哪个服务调的、带了什么参数、当时用户在做什么。
语句、请求、用户
找语句
按耗时、次数、返回行数排序。
看执行
执行计划、索引、扫描行数。
找调用方
语句挂在具体的服务与接口上。
看用户
关联会话与录像,看到那一次操作。
SQL 到会话Diting
01慢语句
SELECT … WHERE order_id = ?02服务
checkout / orders03用户会话
DBA 和研发看到同一条请求
截图、导日志、复现都可以省掉。把链接发过去,打开就是那个页面。
- Top SQL
- 执行计划
- 慢查询告警
- 会话回放
适合
- 不能改连接串、不能装驱动的存量系统
- 需要把 SQL 和业务对上的团队
不适合
- 需要数据库内部锁等待细节、且无法开启 Performance Schema 的环境