小米 sql 优化工具
最近在研究小米开源的 sql 优化工具 soar ,主要是为了做二次开发,添加自己的检测规则。
- 以下为源码分析流程图
[图片]
- 开启在线分析检测主要是测试库同步在线库表信息,有了库表信息就有利于索引的分析建议,当然这个如果频繁的操作检测可能会占用在线库的 connection 连接数,进而影响在线库的使用性能
- 启发式规则过滤只需要配置参数,添加启发式规则也很简单,源码文档中有写
- explain 信息对 sql 分析很有用,这个explain可以当一个课题来讲,也是对其一知半解,需要开启 explain=true
- profile 是在事务中执行sql,获取执行信息后,回滚sql。其中 profile 信息可以查看 sql 执行时长,及执行过程中各个阶段的时间消耗,cpu、内存占用等信息,使用需要开启 profile=true。
- trace 也是在事务中执行,获取信息后回滚事务,获取到的信息量太大,比较专业化,就没有深入研究,需要开启 trace=true
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: