SQL Server唯一索引和非唯一索引的区别简析

如题所述

第1个回答  2016-05-14
这里说的聚集索引是聚簇索引吧。。。 聚簇索引即建立在聚簇上的索引,创建聚簇索引时,需要对已有表数据重新进行排序(若表中已有数据),即删除原始的表数据后再将排序结果按物理顺序插回,故聚簇索引建立完毕后,建立聚簇索引的列中的数据已经全部按序排列。 一个表中只能包含一个聚簇索引,但该索引可以包含多个列。 B-树索引中,聚簇索引的叶层就是数据页。 非聚簇索引类似书本索引,索引与数据存放在不同的物理区域,建立非聚簇索引时数据本身不进行排序。一个表中科含多个非聚簇索引。 B-树索引中,非聚簇索引的叶层仍是索引页,其以指针指向数据页实际存储位置。 唯一性索引保证表中没有两行在定义索引的列上具有重复值,ORACLE自动为主键和唯一键列创建唯一索引;主键本身就是唯一索引,反之不成立(唯一索引允许一个NULL值),唯一性索引比非唯一性索引效率高,故在一般情况下,在无重复值的列上应尽量建立唯一性索引。 若为谋个表的某个列创建了唯一索引,则即使这个列没有唯一值约束,也会被强制限制不能插入重复记录。
相似回答