SSAS表格开发DAX与SQL性能

时间:2018-08-14 19:00:53

标签: sql dax sql-server-data-tools ssas-tabular ssms-2017

我目前正在研究现有的表格模型,该模型具有约150万行。它由SSMS DB视图驱动,并部署到SSAS。

我的问题是哪种语言处理得更好/更快?

添加度量时,我可以在视图中创建SQL case语句,也可以将度量直接放置在模型中。我刚刚开始这个项目,但数据却稳定增长,而且随着模型不断扩展新字段,度量和记录,我担心长期性能。

1 个答案:

答案 0 :(得分:0)

我使用以下经验法则:

  • 计算SQL中的所有维属性。切勿在DAX中使用任何计算列。
  • 计算SQL中最复杂,最昂贵的指标。这些通常很少,例如所有计算的2-5%。将其余的留给DAX。

在后台,DAX转换为SQL查询(您可以使用DAX Studio:https://www.sqlbi.com/tools/dax-studio/查看它们) 。如果正确编写了DAX,则执行计划将与SQL一样高效。当然,如果您的DAX错误,则可能会转化为非常无效的SQL,但这是可以预期的。

最后,只是为了正确设置期望:如果表格模型超过10亿条记录,则被认为是“大”模型。 100M-1B记录之间的模型被认为是中等大小,可能需要一些优化(基本上,您必须知道自己在做什么)。少于1亿条记录都是一个小模型,如果您遇到性能问题,则可能是数据模型错误,或者DAX错误/无效。