MYSQL实战

SQL的处理

  • 缓存
  • 解析查询
  • 优化(查询优化器)  重写查询;表的读取顺序;选择索引MYSQL实战_第1张图片

 1.不要在索引上做任何操作

  • 表达式
  • 函数

2.尽量全值匹配

联合索引中搜素条件后会根据最优条件排序进行查询,联合索引尽量都使用起来。搜索条件顺序改变不会影响效率。

3.最佳左前缀法则

explain 查询后查看key_len查看

4.范围条件放在最后

左边列是精确查找,则右边的列可进行范围查找,中间有范围查询会导致后面的列全部失效,无法充分利用联合索引。

如果根据查询条件查询到数据的结果数量小于总数量的五分之一,则会走索引,否则会走全表扫描

5.覆盖索引尽量使用

尽量不要使用*

6.不等于要慎用

使用不等于(!=或者<>)的时候无法使用索引会导致全表扫描

7.null/not有影响

8.字符类型加引号

9.使用OR关键字要注意

尽量不要使用*

10.排序要当心

asc,Desc别混用,排序列包含非同一个索引的列

11.尽可能按主键顺序插入

uuid 占用空间大,范围查找复杂

12.优化count查询

13.优化mimit分页

MYSQL实战_第2张图片

 

14.关于null的特别说明

你可能感兴趣的:(数据库)