2017-09-02 25 views
0

我有一个与SQL DW中的表类型有关的问题以及如何创建它们。SQL DW中的表类型以及何时选择 - 什么类型

我的理解 - 有3种类型 1。 HEAP STORE [这是行存储] 2. CLUSTERED INDEX [这是行存储与索引上一列] 3. COLUMN CLUSTERED INDEX [与索引列店铺一列]

堆商店是理想的分级表。 群集索引适用于容量大于10K至20M +的大小的表格 列聚集索引适用于大型交易表(> 60M记录)。

现在我有一个25M记录的交易表,表中包含255列。 此表具有StartDateKey,EndDateKey,LoadDateKey,CustId,ProdId,SourceId等列...事务表与SSAS Data模型中的40列连接。

在这种情况下,我应该是什么类型的表? 1.聚集索引,因为它< 60M 2.列聚集索引,因为它有很多连接发生?

是我的派生表的类型与记录#是正确的基础知识?或者我应该考虑列数,连接数量,使用模式,?

我希望我的交易表给我多次查询,每天3次,得到加载..

感谢, 亚拉文

回答

0

之一等指标进行群集列存储与大量的表列。在一个Columnstore中,每个列段都存储在磁盘上,并分别缓存在内存中。因此,您可以只扫描所需的列,并且提高缓存效率。所以我的猜测是,即使每个发行版都不足,集群式专栏存储也是最好的。

但是最好总是依赖于工作负载,所以虽然有经验法则,但您应该测试各种选项。加载,更新和查询之间可能存在权衡。在Azure中,使用这个大小的数据库,测试将会快速且便宜。

请注意,群集索引可以具有多个索引列,而群集列不是“在一列上编制索引”每列都单独存储,并且没有一列是“特殊”的。

相关问题