索引:是一种独立、物理的存储数据表一列或多列数值的一个有序的数据结构。(聚簇索引,是物理顺序和键值顺序一致,所以是一张表只能建立一个聚簇索引;非聚簇索引则反之。)同时包涵索引数据,还有指向列数据的数据表的指针表单
索引建立目的主要是提高数据的检索速度,当检索时,通过索引找到相应的键值,然后根据键值的指针找到对应的行,完成检索。
简单的说,索引就像是书的目录,通过查找页码,找到想要阅读的信息。
主要索引:唯一索引、主键索引和聚集索引。
在数据库系统中建立索引主要有以下作用:
(1)快速取数据;
(2)保证数据记录的唯一性;(唯一索引,插入数据时会比较是否有相同的键值)
(3)实现表与表之间的参照完整性;
(4)在使用ORDER by、group by子句进行数据检索时,利用索引可以减少排序和分组的时间。(键值指针顺序已经完成分组)
优点
1.大大加快数据的检索速度;
2.创建唯一性索引,保证数据库表中每一行数据的唯一性;
3.加速表和表之间的连接;
4.在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。
缺点
1.索引需要占物理空间。
2.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。