gpt4 book ai didi

sql-server - SQL Server 2008 中的索引与唯一键

转载 作者:行者123 更新时间:2023-12-04 23:51:04 24 4
gpt4 key购买 nike

我有下表用于连接 3 个表:

ClientID int
BlogID int
MentionID int

假设查询总是来自 ClientID,我可以创建 1 个多列索引(ClientID、BlogID、MentionID)。

问题是,我应该将其创建为聚簇索引还是唯一键?我了解聚集索引将数据存储在其叶节点上。当然,在这种情况下,索引就是数据,所以不知道SQL Server会不会复制数据。尽管如此,我在 MSDN 上找不到任何关于使用“唯一 key ”的重要性的信息。

这与 Type = Index & IsUnique = yes 有何不同?

谁能告诉我每种方式的优点?

最佳答案

聚集索引是“表本身”,即 inode 按树状排列,其叶子节点包含行数据。聚簇索引不必声明为唯一的(尽管通常是唯一的);如果它不是唯一的,则服务器隐式地向该索引添加一个“uniqalizer”,以便每一行都被唯一标识。

其他索引将聚簇索引值存储为它们的叶节点(如果它们包含在 CREATE INDEX 状态中的 INCLUDE 子句中,则可能还有一些其他列)。

任何索引都可能被标记为唯一,因此服务器将执行额外的检查以防止重复值进入表。

关于sql-server - SQL Server 2008 中的索引与唯一键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4172974/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com