1、为什么要使用索引。
索引是一种特殊的数据库结构,由一列或者多列组成,可以用来快速查询数据。在查询数据时避免全表扫描而只查询索引列,根据索引列找到记录行,加快查询速度。
优点:提高数据库的查询速度
缺点:占用磁盘内存,会导致增加、删除、修改功能的速度;
索引的创建和维护消耗时间,随着数据量的增大,维护时间也会变大。
故应该根据功能的不同而判断是否增加索引,若是这张表主要用来查询的,增加索引是利大于弊的。
2、索引的分类
其中:组合索引遵循最左前缀原则。
3、语句
创建索引:create index 索引名 on 表名(列名);其中列名可带长度可不带
删除索引:drop index 索引名 on 表名;
创建唯一索引:CREATE UNIQUE INDEX 索引名 ON 表名(列名)
组合索引:CREATE INDEX 索引名 ON 表名(列名1,列名2)
4、索引优化
1.避免全表扫描,首先考虑把索引建立在where子句上的列
2.模糊查询,避免like 以‘%’开头的
3.避免where子句中是null或者or连接,这样的话会全表扫描
4. 避免用not in、in 连接