按Clustered Columnstore Index中的索引排序

时间:2014-09-01 08:34:40

标签: sql-server database

我有一张用于DW的表格。这对于 Clustered ColumnStore Indexing来说是完美的。

但是,我真的希望最大限度地提高查询的效果,因此我希望制定一个特定的群集顺序,因为我知道我的大部分查询都是在日期和什么产品上。

但我似乎无法找到一个选择。

3 个答案:

答案 0 :(得分:1)

你不能这样做。

也就是说,具有正确索引的普通表将比Clustered Columnstore表更快。我建议使用Clustered Columnstore的唯一一次是当您需要对任何列执行即席查询时,因此无法创建您将需要的所有可能的索引。

对于我的项目,我实际上使用了两个:普通表,为常用查询重度索引,以及用于即席查询的聚簇列存储索引。

答案 1 :(得分:0)

您可以为此创建非聚集索引:

CREATE NONCLUSTERED INDEX IX_Date
ON [dbo].[Table] (Datecolumn); 

答案 2 :(得分:0)

Microsoft已宣布将其用于Azure SQL数据仓库(预览)。

  

CREATE COLUMNSTORE INDEX

CREATE CLUSTERED COLUMNSTORE INDEX index_name
  ON { database_name.schema_name.table_name | schema_name.table_name | table_name } 
 [ORDER (column [,...n] ) ] -- in preview
[ WITH ( DROP_EXISTING = { ON | OFF } ) ] --default is OFF  
     

F。在没有索引的表上创建有序的集群列存储索引

CREATE CLUSTERED COLUMNSTORE INDEX cci ON Sales.OrderLines
ORDER ( SHIPDATE );