MySQL索引/排序优化
索引优化
单表优化
- 先完成功能
- 分析SQL explain
- 创建索引
- 索引创建是否得当
双表优化
- 左连接往往右表添加索引
- 小表驱动大表
口诀
- 全值匹配我最爱
- 建立d的索引字段 查询都可以用上
- 最左前缀法则
- 带头大哥不能挂
- 中间兄弟不能断
- 范围之后全失效
- 查询从作用的最左前列开始并且不能跳过索引中间的列
- 索引列上少计算
- 不要在字段上使用函数
- 数值运算
- like百分%写最右
- 全文索引
- 覆盖索引不写星*
- 用什么取什么
- 不等空值还有or
- 不等号解决
- 范围查询
- varchar引号不能少
- 隐式类型转化
排序优化
- 正常排序
- order by
- 使用where + 索引来排序
- group by
- order by
- filesort排序
- 单路排序
- sort_buffer_size
- max_length_for_sort_data
- 双路排序
- 单路排序