gpt4 book ai didi

sql-server - 具有多个 INCLUDE 列的单个索引或每个具有单个 INCLUDE 的多个索引

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

通过 DMV 表进行一些“缺失索引”分析(感谢 this guide ),我发现单个表上有一些候选索引。

输出查询如下:

Total Cost  Table Name  equality_columns  inequality_columns  included_columns
1615619 [TableA] [ColumnA] NULL [ColumnB]
1494475 [TableA] [ColumnA] NULL [ColumnC]

(*_columns 列直接来自 sys.dm_db_missing_index_groups)

在这种情况下,在 ColumnA 上创建一个包含 ColumnBColumnC 的索引是否可以,或者会更好两个在 ColumnA 上有单独的索引,一个包含 ColumnB,另一个包含 ColumnC

(使用 SQLServer 2008 RC2)

最佳答案

我认为最好有一个索引:(ColumnA INCLUDE (ColumnB, ColumnC))

以相同的顺序拥有两个具有相同排序键的索引是多余的。可以使用索引中附加包含的列,无论它们出现的顺序如何。由于需要维护两个索引,因此使用第二个索引来包含它们只会增加开销。

关于sql-server - 具有多个 INCLUDE 列的单个索引或每个具有单个 INCLUDE 的多个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39448975/

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