我的mdx查询有问题。实际上我开发的一个仪表板有23个mdx查询。如果我们运行这些仪表板,则需要2分钟才能运行。如何解决这个问题。
另一个问题
我修改了数据库中的一些数据。如果我们运行这些仪表板,则修改后的数据不会显示。它只显示以前的数据。如何解决这个问题。
答案 0 :(得分:1)
1)第一次加载时的23个查询可能有点过多。你不能简化吗?此外,查询是否尽可能快,但它们太多了?或者是否需要改进较慢的查询?还要检查组件的优先级。您可能有多个组件呈现多次。示例:您有一个Country选择器和一个City选择器。因为城市选择器被放在国家选择器中,如果它们具有相同的优先级(默认值= 5),它将首先运行,检索完整的城市列表;然后国家选择器运行并选择第一个值作为参数值。由于您的城市选择器很可能会侦听国家/地区参数,因此该国家/地区将被激活,因此会再次触发。
2)缓存。您正在更改数据,但Mondrian或CDA(或两者)都从其缓存中获取数据。这里有两个选择: - 更新数据后清除Mondrian缓存和清除CDA缓存(适用于影响大多数数据库的大型更新); - 禁用查询定义上的缓存和Mondrian架构上的多维数据集缓存。