查询性能优化

优化数据访问

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

重构查询的方式

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

查询执行


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

你可能感兴趣的:(查询性能优化)