SSAS - 我应该使用视图还是基础表?

Kar*_*arl 5 sql-server ssas sql-server-2008-r2

我在SQL Server中设置了一组视图,它们输出了我想要包含在SQL Server Analysis Services多维数据集中的结果,包括计算多个维度(例如使用DATEDIFF的Age,使用DATENAME等的业务季度) ).我想知道的是,将这些视图用作多维数据集的数据源是否有意义,或者我是否应该使用基础表来重现SSAS中的逻辑.走这两条路线会有什么影响?

我担心的是:

  • 数据集很大,但是我们需要快速访问结果,所以我希望在SSAS数据仓库中保留尽可能多的视图中的计算
  • 同样,因为数据集很大,我希望尽可能快地重新计算任何立方体

bri*_*ian 9

许多专家实际上建议在SSAS中使用数据源视图中的视图.John Welch(Pragmatic Works,微软MVP,Analysis Services Maestro)谈到了他如何更喜欢今年在SQL Rally达拉斯使用DSV中的观点.原因是它在多维数据集和物理表之间创建了一个层.

在多维数据集处理期间,计算视图中的列将花费一些额外的时间和资源.如果处理时间正常,请将计算保留在视图中.如果这是一个问题,您始终可以将持久计算列直接添加到事实表中,以便在插入/更新事实表期间完成计算.这样做的缺点是您必须将列物理存储在事实表中.优点是每次处理多维数据集时都不必计算它们.这些是你需要权衡的权衡,以决定走哪条路.

只需确保调整源查询尽可能高效.观点适用于DSV.