create nonclustered index inx_entry_stock_on entry_stock_d(entry_stock_bi) --创建聚集索引
create clustered index inx_entry_stock_bi on entry_stock_d(entry_stock_bi)
--主键
alter table entry_stock_d add primary key nonclustered--主键且非聚集
( entry_stock_bi,aid)
一个表只能有一个聚集索引,可以有多个非聚集索引\x0d\x0a\x0d\x0a下面是聚集索引和非聚集索引的详细介绍:\x0d\x0a聚集索引基于数据行的键值在表内排序和存储这些数据行。每个表只能有一个聚集索引,因为数据行本身只能按一个顺序存储。有关聚集索引体系结构的详细信息,请参阅聚集索引结构。\x0d\x0a\x0d\x0a每个表几乎都对列定义聚集索引来实现下列功能:\x0d\x0a\x0d\x0a可用于经常使用的查询。\x0d\x0a\x0d\x0a提供高度唯一性。 \x0d\x0a\x0d\x0a注意:\x0d\x0a\x0d\x0a创建 PRIMARY KEY 约束时,将在列上自动创建唯一索引。默认情况下,此索引是聚集索引,但是在创建约束时,可以指定创建非聚集索引。\x0d\x0a\x0d\x0a可用于范围查询。\x0d\x0a\x0d\x0a如果未使用 UNIQUE 属性创建聚集索引,数据库引擎将向表自动添加一个 4 字节的 uniqueifier \x0d\x0a列。必要时,数据库引擎将向行自动添加一个 uniqueifier 值以使每个键唯一。此列和列值供内部使用,用户不能查看或访问。\x0d\x0a\x0d\x0a查询注意事项\x0d\x0a\x0d\x0a在创建聚集索引之前,应先了解数据是如何被访问的。考虑对具有以下特点的查询使用聚集索引:\x0d\x0a\x0d\x0a使用运算符(如 BETWEEN、>、>=、 回答于 2022-11-16create NONCLUSTERED index stu_idx1 ON Student(StuName) ---非聚集索引一张表只能有一个聚集索引(表中各行的物理顺序与键值的逻辑(索引)顺序相同),
表的主键列就是聚集索引哦。
一张表可以有多个非聚集索引(物理顺序和键值顺序不一定相同)
create index stu_idx2 ON Student(StuName) ---非唯一索引
唯一索引的列不能有任意两行相同的值,非唯一索引的列值可以重复
有问题再追问吧,望采纳。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)