优化数据访问
- 是否向数据库请求了不需要的数据
- MySQL是否在扫描额外的记录
MySQL使用三种方式应用WHERE条件
- 索引中使用WHERE 在存储引擎层完成
- 使用索引覆盖扫描 在服务器层完成
- 从数据表中返回数据,过滤不满足条件的记录
重构查询的方式
- 一个复杂查询还是多个简单查询
- 切分查询
- 分解关联查询
查询执行
1.客户端发送一条查询给服务器;
2.服务器先检查查询缓存,命中缓存则返回存储在缓存的结果;否则进入下一阶段
3.服务器端进行SQL解析、预处理,再由优化器生成对应的执行计划
4.MySQL根据优化器生成的执行计划,调用存储引擎API执行查询
5.结果返回给客户端
网友评论