我们的SSAS中有一个非常大的维度。在增量运行期间,我们使用ProcessAdd来处理维度。此维度处理占整个多维数据集处理时间的95%。
此维度涉及单个表格。来自DSV的维度的命名查询是 -
SELECT ABC, XYZ, DEF, PQR, PLADKey, LEFT(ABC, 3) AS DNL1, LEFT(ABC, 7) AS DNL2,
LEFT(ABC, 9) AS DNL3
FROM dbo.PLAD AS ad
该表每天增加超过33000000行。由于行数较多,processAdd可能运行缓慢。它是自动选择新闻行还是我们必须指定过滤条件来识别新行(比如添加where条件以仅选择大于最后一个键值的数据)?
我们正在使用AMO生成XMLA脚本以进行处理。如果我们需要添加过滤器,我们在AMO中如何做到这一点?
我们正在研究SQL Server 2008 R2。
任何可以提高此维度处理效果的建议都会有所帮助。
答案 0 :(得分:0)
如果我了解您当前的状态,您在该维度上运行了ProcessAdd,但未自定义查询以仅读取新行?首先,仅对ETL中仅插入(无更新或删除)的维度执行ProcessAdd非常重要。如果那是你的情况,那么我在博客上发表了关于ProcessAdd here的文章。请参阅“ProcessAdd Dimension 2008.xmla”示例。它显示了如何提供仅返回新行的SQL查询。