【问题标题】:MSSQL ColumnStore index - use of conventional indexesMSSQL ColumnStore 索引 - 常规索引的使用
【发布时间】:2023-04-06 04:08:01
【问题描述】:

如果这是一个简单的问题,请原谅我,但我似乎找不到任何明确的答案,并认为我会在这里发布。

如果我有一个创建了列存储索引的表,我还需要常规索引吗?

在我的示例中,我有一个包含 12 亿条记录的非常大的表

它有一个列存储索引,定义如下:

CREATE CLUSTERED COLUMNSTORE INDEX [IDX_123] 
   ON [dbo].[XXX] 
   WITH (DROP_EXISTING = OFF, COMPRESSION_DELAY = 0)

除此之外,咨询公司还在表中的每一列上创建了一个额外的非聚集行存储索引:我们有 30 个,即 30 个额外的索引                                                                     

从我的测试看来,优化器似乎只是使用列存储索引而忽略了行存储索引,我的问题是这些是否是必需的?

【问题讨论】:

标签: sql-server indexing columnstore


【解决方案1】:

不是这样,列存储索引可以代替表扫描或索引扫描运算符中的行基索引,如果查询需要索引查找,它将使用行基索引

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-25
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    • 2013-04-24
    相关资源
    最近更新 更多