7 索引
7.1 索引的概念
索引是一个单独的、物理的数据库结构,在SQL Server中,索引是为了加速对表中数据行的检索而创建的一种分散存储结构。它是针对一个表而建立的,每个索引页面中的行都含有逻辑指针,指向数据表中的物理位置,以便加速检索物理数据。因此,对表中的列是否创建索引,将对查询速度有很大的影响。
7.2 索引的优缺点
7.2.1 索引的优点
1.创建唯一性索引,保证数据库表中每一行数据的唯一性。
2.大大加快数据的检索速度,这也是创建索引的最主要原因。
3.加速表与表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
4.在使用分组和排序子句进行数据检索时,同样可以减少查询中分组和排序的时间。
5.通过使用索引,可以在查询的过程中使用优化隐藏器,提高系统的性能。
7.2.2 索引的缺点
1.创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。
2.索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚集索引,那么需要的空间就会更大。
3.当对表中的数据进行增加、删除和修改的时候,索引也要动态地维护,降低了数据的维护速度。
7.3 索引设计
7.4 索引的分类
7.4.1 聚集索引
聚集索引根据数据行的键值在表或视图中排序和存储这些数据行。索引定义中包含聚集索引列。每个表只能有一个聚集索引,因为数据行本身只能按一个顺序排序。
PRIMARY KEY 和 UNIQUE 约束
独立于约束的索引
索引视图