gpt4 book ai didi

sql-server - 拥有包含聚集索引中的主键的非聚集索引是否不好?

转载 作者:行者123 更新时间:2023-12-02 14:23:20 25 4
gpt4 key购买 nike

如果您的表在主键 (int) 上有聚集索引,那么拥有一个(或多个)非聚集索引(该索引包含该主键列作为非聚集索引中的列之一)是否多余且不好? -聚集索引?

最佳答案

实际上,创建与聚集索引相同的非聚集索引可能是有充分理由的。原因是聚集索引携带了行数据的包袱,这可能会导致行密度非常差。 IE。由于聚集键中没有宽字段,因此每页可以有 2-3 行,但聚集索引键只有 20 个字节。如果在与聚集索引完全相同相同的键和顺序上建立非聚集索引,则每页的密度为数百 2-3 个键。非聚集索引可以更有效地回答 OLAP/BI 工作负载的许多典型聚合查询,因为它可以将 I/O 减少数百倍。

对于包含部分聚集键的非聚集索引,甚至是相同的键但顺序不同的非聚集索引,那么所有的赌注都将被取消,因为它们显然可以用于多个查询。

所以你的问题的答案是:这取决于

为了获得更准确的答案,您必须共享表的确切架构以及所涉及的确切查询。

关于sql-server - 拥有包含聚集索引中的主键的非聚集索引是否不好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2747308/

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