上一篇 <<<order by中的单路和双路排序算法原理
下一篇 >>>
MySQL底层使用B+树索引,以减少磁盘的IO请求,以及支持范围的高效查询。
优化思路
1.定位慢查询语句
2.使用explain执行计划或trace工具分析日志和sql语句
1 .必须遵循最佳左前缀法则防止索引失效
2.尽量使用覆盖索引,查询列都是加上索引减少 Select *避兔回表查询
3.is null, not null 索引会失效 空值用专门特定常量值定义
4. Like 模糊遵循最佳左前缀法则 或者使用使用复合索引模糊查询
5. 排序相关:最佳左前缀法则避兔 filesort
6.分页优化根据 where id 条件过滤offSet 或者使用子查询先定位 id ,在查询效率可以提高一半,但是如果数据量大于 500 行的情况下建议使用分表。
7. 连表查询:小表驱动大表数据避免全表扫描,超过三张表禁止使用 join
8. count ( * )查询优化辅助索引 count 比主键 1 dcount 效率要高。
具体参考底部相关文章链接。
网友评论