MDX优化

MDX优化

0
投票
1
回答
1930
浏览
0
投票
2
回答
2323
浏览

MDX 行内容拼接到列结果中

choc 回复了问题 • 2015-05-05 14:46
0
投票
8
已解决
8713
浏览
0
投票
3
回答
6710
浏览

微软BI MDX中切片和 切块如何理解?

BIWORK 回复了问题 • 2013-11-26 14:24
条新动态, 点击查看
梁勇

梁勇 回答了问题 • 2013-07-16 20:48 • 8 个回复 不感兴趣

SSAS/MDX 查询优化问题总结与解决方案大全

赞同来自:

从存储优化和计算优化入手:

1、结构设计性能优化

分区: 通过分区可以把数据进行分割成若干个逻辑区,当进行查询时就不需要在所有的数据中进行计算,而是只在一个数据区间内执行计算。即查询的时候只在此分区查询才有效果。

聚合:通过聚合可以确保数... 显示全部 »
从存储优化和计算优化入手:

1、结构设计性能优化

分区: 通过分区可以把数据进行分割成若干个逻辑区,当进行查询时就不需要在所有的数据中进行计算,而是只在一个数据区间内执行计算。即查询的时候只在此分区查询才有效果。

聚合:通过聚合可以确保数据以相同的方式聚合并把聚合值存储在多维数据集的分区内,通过聚合可以使存储引擎能很快的响应计算引擎的数据请求,因为设计了聚合只在第一次部署时对多维数据集进行聚合,一旦处理后,聚合值就会存储在分区内,之后的请求只需要到聚合索引中查找就可以,不需要二次计算,可以极大提高查询效率。

属性关系:日期维度创建对应的属性关系,查询的时候在层级加载的时候,可以有效的找到对应的子级。



2、MDX语句的优化

计算优化是一个比较繁琐的过程,但是一个好的计算体验应该是,尽量少的运用命名集合,使用命名集会失去SSAS 对计算的优化支持。把需要频繁计算的语句写成Member,这样可以使用缓存。

控制缓存的范围也很重要,要确保你的缓存范围不要对其他计算成员有冲突,防止对其他数据进行覆盖。

块计算可以显著的提高计算性能,块计算可以实现MDX语句以块为单位进行计算,而不是一个单元一个单元的计算,但是,这也只适用于一些情况,当然,我们也应该尽可能的发挥这个优势来提升性能。
0
投票
1
回答
1930
浏览
0
投票
2
回答
2323
浏览

MDX 行内容拼接到列结果中

choc 回复了问题 • 2015-05-05 14:46
0
投票
8
已解决
8713
浏览
0
投票
3
回答
6710
浏览