聚集索引 聚集索引对表的物理数据页中的数据按列进行排序, 然后再重新存储到磁盘上。换句话说,如果在一个 表中建立了聚集索引,则表中的数据页会按照该索 引的顺序来存放 优点:查找数据很快 缺点:完全重排数据,要相当于数据所占用空间的 120% 注意: 由于一个表只能有一种实际的存储顺序,因此,一个表只 能有一个聚集索引 创建非聚集索引之前要先创建聚集索引 关键值的惟一性使用 UNIQUE或标识符明确维护 保证有足够的临时空间来创建聚集索引
6 聚集索引 • 聚集索引对表的物理数据页中的数据按列进行排序, 然后再重新存储到磁盘上。换句话说,如果在一个 表中建立了聚集索引,则表中的数据页会按照该索 引的顺序来存放。 • 优点:查找数据很快 • 缺点:完全重排数据,要相当于数据所占用空间的 120% • 注意: –由于一个表只能有一种实际的存储顺序,因此,一个表只 能有一个聚集索引 –创建非聚集索引之前要先创建聚集索引 –关键值的惟一性使用UNIQUE或标识符明确维护 –保证有足够的临时空间来创建聚集索引
非聚集索引 非聚集索引具有完全独立于数据行的结 构。使用非聚集索引不用将物理数据页 中的数据按列排序。通俗地说,不会影 响数据表中记录的实际存储顺序。因此, 可以在一个表中创建多个非聚集索引。 非聚集索引需要更多的空间,检索效率 也较低。一个表中除建立一个聚集索引 外,还可以建立249个非聚集索引 例子:聚集索引和非聚集索引的例子见 p226的表10-1和表10-2
7 非聚集索引 • 非聚集索引具有完全独立于数据行的结 构。使用非聚集索引不用将物理数据页 中的数据按列排序。通俗地说,不会影 响数据表中记录的实际存储顺序。因此, 可以在一个表中创建多个非聚集索引。 • 非聚集索引需要更多的空间,检索效率 也较低。一个表中除建立一个聚集索引 外,还可以建立249个非聚集索引。 • 例子:聚集索引和非聚集索引的例子见 p226的表10-1和表10-2
唯一索引和组合索引 无论是聚集索引还是非聚集索引,根据 索引键值是否重复,可以判定为是否为 唯一索引;根据索引字段的组成情况, 可以判定是否为组合索引
8 唯一索引和组合索引 • 无论是聚集索引还是非聚集索引,根据 索引键值是否重复,可以判定为是否为 唯一索引;根据索引字段的组成情况, 可以判定是否为组合索引
唯一索引 ·若希望在表中创建唯一索引,则该字段或字段 组合的值在表中必须具有唯一性,即表中任何 两条记录的索引值都不能相同 同样,若表中基于某个字段或字段组合存在两 条以上的记录中有相同的值,将不能基于该字 段或字段组合创建唯一索引。 ·注意:建立唯一索引的字段最后也设置为not nu1l,因为两个nu11值将被认为是重复的字段 值 ·向表中添加记录或修改记录时,系统将检查添 加的记录或修改后的记录是否会造成唯一索引 键值的重复。若造成唯一索引键值的重复,系 统将拒绝执行该操作
9 唯一索引 • 若希望在表中创建唯一索引,则该字段或字段 组合的值在表中必须具有唯一性,即表中任何 两条记录的索引值都不能相同。 • 同样,若表中基于某个字段或字段组合存在两 条以上的记录中有相同的值,将不能基于该字 段或字段组合创建唯一索引。 • 注意:建立唯一索引的字段最后也设置为not null,因为两个null值将被认为是重复的字段 值。 • 向表中添加记录或修改记录时,系统将检查添 加的记录或修改后的记录是否会造成唯一索引 键值的重复。若造成唯一索引键值的重复,系 统将拒绝执行该操作
复合索引 若基于多个字段的组合创建索引,则称 该索引为复合索引。 注意:符合索引既可以是唯一索引,也 可以不是唯一索引。即使是唯一索引, 这个字段的组合的取值不能重复,但是 单独的字段值依然可以重复
10 复合索引 • 若基于多个字段的组合创建索引,则称 该索引为复合索引。 • 注意:符合索引既可以是唯一索引,也 可以不是唯一索引。即使是唯一索引, 这个字段的组合的取值不能重复,但是 单独的字段值依然可以重复