Tableau服务器为每个过滤器对数据库进行额外调用会破坏性能

时间:2017-06-21 01:50:21

标签: tableau-server

我们已设置Tableau页面以加载"直播" (使用url中的刷新arg),因此性能很重要(Tableau端的缓存不是一个选项)。

如果有3个过滤器(例如City,Country,PersonType),其主要查询类似于"从PERSON_VIEW"中选择*,则Tableau在加载时总共调用4个Oracle VIEW(主要数据+每个过滤器一次)!

查询需要1秒左右才能执行(根据会话用户构建视图很复杂;不过完全优化)。

所以,这4次调用(实际上在我的场景中实际上有更多的过滤器)使得仪表板需要4秒以上才能加载!而且显然很令人沮丧。

从Tableau方面 - 我认为应该有一些方法来优化它,因为调用4次相同的东西是非常低效的?

来自Oracle方面 -

a)如果在同一个Session中调用了这些,我们可以设置一个Temp Table并在第一次调用中缓存结果并在后续调用中更快地提供它们,但是它不是从同一个Session中调用的:(

b)我们可以设置物化视图。这相当于缓存,所以不可取。

那么,有什么想法可以提高绩效吗?

0 个答案:

没有答案