楼上的老大的意思,不知道我理解的对不,见下 第一种:为非聚集索引 create index Index_1 on BrandType ( Brand ASC, Type ASC ) go第二种:为唯一索引 create unique index Index_1 on BrandType ( Brand ASC, Type ASC ) go第三种:为聚集索引 create clustered index Index_1 on BrandType ( Brand ASC, Type ASC ) go 以上理解的对吗? 主键是不是就是聚集索引?
UNIQUE为表或视图创建唯一索引(不允许存在索引值相同的两行)。视图上的聚集索引必须是 UNIQUE 索引。在创建索引时,如果数据已存在,Microsoft® SQL Server™ 会检查是否有重复值,并在每次使用 INSERT 或 UPDATE 语句添加数据时进行这种检查。如果存在重复的键值,将取消 CREATE INDEX 语句,并返回错误信息,给出第一个重复值。当创建 UNIQUE 索引时,有多个 NULL 值被看作副本。如果存在唯一索引,那么会产生重复键值的 UPDATE 或 INSERT 语句将回滚,SQL Server 将显示错误信息。即使 UPDATE 或 INSERT 语句更改了许多行但只产生了一个重复值,也会出现这种情况。如果在有唯一索引并且指定了 IGNORE_DUP_KEY 子句情况下输入数据,则只有违反 UNIQUE 索引的行才会失败。在处理 UPDATE 语句时,IGNORE_DUP_KEY 不起作用。SQL Server 不允许为已经包含重复值的列创建唯一索引,无论是否设置了 IGNORE_DUP_KEY。如果尝试这样做,SQL Server 会显示错误信息;重复值必须先删除,才能为这些列创建唯一索引。CLUSTERED创建一个对象,其中行的物理排序与索引排序相同,并且聚集索引的最低一级(叶级)包含实际的数据行。一个表或视图只允许同时有一个聚集索引。具有聚集索引的视图称为索引视图。必须先为视图创建唯一聚集索引,然后才能为该视图定义其它索引。在创建任何非聚集索引之前创建聚集索引。创建聚集索引时重建表上现有的非聚集索引。如果没有指定 CLUSTERED,则创建非聚集索引。
第一种:为非聚集索引
create index Index_1 on BrandType (
Brand ASC,
Type ASC
)
go第二种:为唯一索引
create unique index Index_1 on BrandType (
Brand ASC,
Type ASC
)
go第三种:为聚集索引
create clustered index Index_1 on BrandType (
Brand ASC,
Type ASC
)
go
以上理解的对吗?
主键是不是就是聚集索引?