索引: 类似于书本中的目录指的是在数据库表中的一个列或多个列的设置,帮助快速的定位所查询的数据。
索引的作用
(优点)
1.加快查询速度 (定位)
2.保证数据的唯一性 (唯一约束)
3.实现表与表之间的参照完整性 (进行外键约束参照的列)
4.可以减少group by,order by,分组和排序的时间 (根据某个列来进行分作或者排序)
索引的缺点:
1.创建索引会需要一定的时间和数据空间
2.虽然查询的速度加快了,但是减慢了增删改的速度 (书本中插入内容)
优先考虑建立索引的列: 加快 节约
1.定义有主键或者外键的列
2.在查询过程中频繁使用的列
3.连接过程中频繁使用的列
4.在排序,分组过程中使用的列
索引的分类:
1.普通索引
2.唯一索引
创建格式:
create index 索引的名字 on 表名(列名);
create unique index 索引的名字 on 表名(列名);
设计索引,要考虑到的数据库准则。
1.一个表中如果有大量的索引,会影响insert,update,delete语句的性能。
2.避免对经常更新的表进行过多的索引,索引要保持较窄。
3.建立索引,可以提高更新少,数据量大的查询性能。
4.对小表建立索引,可能不会产生优化的效果。