SQL的处理
- 缓存
- 解析查询
- 优化(查询优化器) 重写查询;表的读取顺序;选择索引
1.不要在索引上做任何操作
- 表达式
- 函数
2.尽量全值匹配
联合索引中搜素条件后会根据最优条件排序进行查询,联合索引尽量都使用起来。搜索条件顺序改变不会影响效率。
3.最佳左前缀法则
explain 查询后查看key_len查看
4.范围条件放在最后
左边列是精确查找,则右边的列可进行范围查找,中间有范围查询会导致后面的列全部失效,无法充分利用联合索引。
如果根据查询条件查询到数据的结果数量小于总数量的五分之一,则会走索引,否则会走全表扫描
5.覆盖索引尽量使用
尽量不要使用*
6.不等于要慎用
使用不等于(!=或者<>)的时候无法使用索引会导致全表扫描
7.null/not有影响
8.字符类型加引号
9.使用OR关键字要注意
尽量不要使用*
10.排序要当心
asc,Desc别混用,排序列包含非同一个索引的列
11.尽可能按主键顺序插入
uuid 占用空间大,范围查找复杂
12.优化count查询
13.优化mimit分页