2

我假设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递归的吗?是因为本地缓存大小吗?

4

1 回答 1

0

我的印象NON EMPTY是在脚本过程的最后应用。在此处查看上一个问题/答案: 处理 MDX 查询的逻辑顺序

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

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

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

于 2014-11-25T10:24:50.683 回答