MDX - NON EMPTY功能更快?

时间:2014-11-24 14:40:13

标签: ssas mdx ssas-2012 ssas-tabular

我假设必须尽可能避免NON EMPTY条款。所以,当我意外地发现它实际上使查询更快时,我感到震惊!

示例:

select 
[Measures].[Count Of Requests] on 0,
([Client].[Client Number].children , [Date].[Year].children) on 1
from [MyCube]

- 热缓存上的19秒

select 
[Measures].[Count Of Requests] on 0,
non empty ([Client].[Client Number].children , [Date].[Year].children) on 1
from [MyCube]

- 缓存上的5秒(一致)

不是NON EMPTY递归吗?是因为本地缓存大小?

1 个答案:

答案 0 :(得分:0)

我的印象是在脚本进程的最后应用了NON EMPTY。在此处查看上一个问题/答案: Logical order an MDX query is processed

因此有效地返回所有内容,然后在将结果呈现给网格或客户端应用程序之前,NON EMPTY指令意味着丢弃任何行或列上的空元组。

如果您的第一个脚本返回了大量数据,那么渲染过程需要额外的时间才能完成吗?

另一篇有趣的文章。 NON EMPTY在这里: http://www.bidn.com/blogs/DustinRyan/bidn-blog/2996/non-empty-vs-nonempty-to-the-death