如何检查表是否有列存储索引?

时间:2018-03-12 14:40:32

标签: sql-server tsql columnstore

我需要制作一些机制来检查表X是否是列存储的,以及是否不进行转换。 我知道要将表X转换为聚集列存储索引,我们可以使用以下代码:

CREATE CLUSTERED COLUMNSTORE INDEX MyColumnStoreIndex
ON Table_X

我想创建一个检查表是否包含列存储索引的查询。 提前谢谢。

2 个答案:

答案 0 :(得分:6)

您可以查询sys.indexes并检查type和type_desc列。 According to the documentation值5和6保存有关索引是聚簇还是非聚簇列存储的信息:

select *
from sys.indexes 
where type in (5, 6)

答案 1 :(得分:3)

您可以查询Rigerta答案中提到的sys.indexes 要获取属于找到的索引的表名,您可以执行以下查询

 public class Consumer : Consumes<MainMessage>.All
    {
        public void Consume(MainMessage message)
        {
            Processor.DoSomethingWithOurMessage(message, 0);
        }

    }