处理分区所需的时间比处理整个数

时间:2012-11-13 19:35:22

标签: ssas tabular

我有一个表格模型多维数据集,我将表格拆分为分区,以提高处理效率。

当我处理完全仅限日常分区时,需要 2h 45m 。但是,当我处理完整整个数据库(包括每日历史数据)时, 1h 10m

任何人都知道造成这种情况的原因是什么?

谢谢!

1 个答案:

答案 0 :(得分:2)

表格模型中的ProcessFull基本上是ProcessData(从源获取数据,构建字典等)和ProcessReCalc(构建索引,属性层次结构等)的组合。虽然ProcessData只抓取最新数据(即分区的数据),但ProcessReCalc本身需要在整个数据库上执行。一个很好的参考是Cathy Dumas的博客文章:http://cathydumas.com/2012/01/25/processing-data-transactionally-in-amo/

要了解处理原因,最好深入了解剖析器跟踪/日志,以确定哪些操作需要很长时间才能完成处理。您的数据是否有可能包含大量重复数据,例如审计日志?它可能更快地完成整个数据库(相对于单个分区),因为它能够更有效地压缩和组织数据,因为可以更好地压缩重复数据,从而占用更少的内存。检查这一点的一种可能方法是在分区上运行ProcessFull与在整个数据库上运行它之后查看模型大小。如果是,则后一个处理将导致数据库更小。

HTH!