一.索引的概念
在关系数据库中,索引是一种单独的、物理的对数据表中一列或多列的值进行排序的一种存储结构。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。
索引提供指向存储在表的指定列中的数据值的指针,然后根据您指定的排序顺序对这些指针排序。数据使用索引以找到特定值,然后顺指针找到包含该值的行。
二.索引的作用
(1)快速取数据
(2)保证数据记录的唯一性
(3)实现表与表之间的参照完整性
(4)在使用ORDER by、group by子句进行数据检索时,利用索引可以减少排序和分组的时间
三.索引的优缺点
优点:
1.大大加快数据的检索速度
2.创建唯一性索引,保证数据表中每一行数据的唯一性
3.加速表与表之间的连接
4.使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间
缺点:
1.索引需要占用物理空间
2.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。
四.索引的类型
1.普通索引
CREATE INDEX <索引的名字> ON tablename(列的列表)
2.唯一索引
CREATE UNIQUE INDEX<索引的名字> ON tablename(列的列表)
3.主键索引
主键索引是唯一索引的特定类型。该索引要求主键中的每个值都唯一。当在查询中使用主键索引时,允许对数据的快速访问。
4.聚集索引