先从查询路径开始
先找出时间真正花在哪里。看重负载查询路径、索引、连接模式、报表压力,以及应用代码为了弥补数据访问糟糕而做补偿的地方。
- 识别最慢且成本最高的重复查询路径
- 把应用低效和真正的数据库瓶颈区分开
- 审查索引、基数假设和明显的结构错配
洞见
当数据库成了显眼瓶颈时,团队往往会直接跳到迁移或重写。有时这确实合理,但很多时候最先需要的是数据库调优和结构审视。第一个问题应该是:性能究竟在哪丢失,什么能被安全改进。
最适合
先找出时间真正花在哪里。看重负载查询路径、索引、连接模式、报表压力,以及应用代码为了弥补数据访问糟糕而做补偿的地方。
有些性能问题其实是模式问题。负载过重的表、不一致的键、历史性权宜做法以及不清晰的数据所有权,会制造出仅靠调查询无法解决的阻力。
有节制地先做一轮调优,可以改善当前性能、看清哪些模式债务真正重要,也能为以后迁移或重设计打下更干净的基础。