查询性能优化

优化数据访问

  • 是否向数据库请求了不需要的数据
  • MySQL是否在扫描额外的记录
MySQL使用三种方式应用WHERE条件
  • 索引中使用WHERE 在存储引擎层完成
  • 使用索引覆盖扫描 在服务器层完成
  • 从数据表中返回数据,过滤不满足条件的记录

重构查询的方式

  • 一个复杂查询还是多个简单查询
  • 切分查询
  • 分解关联查询

查询执行


1.客户端发送一条查询给服务器;
2.服务器先检查查询缓存,命中缓存则返回存储在缓存的结果;否则进入下一阶段
3.服务器端进行SQL解析、预处理,再由优化器生成对应的执行计划
4.MySQL根据优化器生成的执行计划,调用存储引擎API执行查询
5.结果返回给客户端

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容