SQL中怎么创建非聚集索引

SQL中怎么创建非聚集索引,第1张

--创建聚集索引

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-16

create NONCLUSTERED index stu_idx1 ON Student(StuName) ---非聚集索引

一张表只能有一个聚集索引(表中各行的物理顺序与键值的逻辑(索引)顺序相同),

表的主键列就是聚集索引哦。

一张表可以有多个非聚集索引(物理顺序和键值顺序不一定相同)

create index stu_idx2 ON Student(StuName) ---非唯一索引

唯一索引的列不能有任意两行相同的值,非唯一索引的列值可以重复

有问题再追问吧,望采纳。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11692360.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存