我假设必须尽可能避免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
递归吗?是因为本地缓存大小?
答案 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