文章目录
第六章 查询性能优化
手段:库表结构优化、索引优化、查询优化
6.1 为什么查询变慢?
6.2 优化数据访问
6.2.1 是否请求了不需要的数据?
- 查询不需要的记录
- 多表关联返回全部列
- 总是取出全部列
- 重复查询相同的数据
6.2.2 扫描额外的记录
扫描的行数 和 返回的行数
6.3 重构查询方式
6.3.1 一个复杂查询or多个简单查询
6.3.2 切分查询
一次删除全部数据 or 小批量,多次删除
可以有效降低对服务器影响,大大减少删除时锁的持有时间
6.3.3 分解关联查询(很重要)
多表的join查询 VS 单表查询 应用层组装
- 缓存效率更高
- 减少锁竞争
- 应用层关联,可以实现 哈希关联,而不是嵌套循环关联。更容易 数据库水平拆分,做到高性能和可扩展
- 查询效率提升
- 减少冗余记录查询