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

Tableau api Tableau服务器为每个筛选器对数据库进行额外调用会破坏性能,tableau-api,Tableau Api,我们已经将Tableau页面设置为加载“live”(url中带有refresh arg),因此性能很重要(在Tableau端缓存不是一个选项) 当有3个过滤器(比如城市、国家、个人类型)且主查询类似于“从个人视图中选择*”时,Tableau在加载时总共对Oracle视图进行4次调用(主数据+每个过滤器一次) 执行查询需要1秒左右的时间(根据会话用户组合视图很复杂;但已完全优化) 因此,这个4次调用(实际上在我的场景中有更多的过滤器)使仪表板需要4秒以上的时间才能加载!这显然令人沮丧 从表的角度来

我们已经将Tableau页面设置为加载“live”(url中带有refresh arg),因此性能很重要(在Tableau端缓存不是一个选项)

当有3个过滤器(比如城市、国家、个人类型)且主查询类似于“从个人视图中选择*”时,Tableau在加载时总共对Oracle视图进行4次调用(主数据+每个过滤器一次)

执行查询需要1秒左右的时间(根据会话用户组合视图很复杂;但已完全优化)

因此,这个4次调用(实际上在我的场景中有更多的过滤器)使仪表板需要4秒以上的时间才能加载!这显然令人沮丧

从表的角度来看,我认为应该有一些方法来优化这个,因为调用相同的东西4次是非常低效的

从甲骨文方面-

a) 如果在同一会话中调用这些,我们可以设置临时表,并在第一次调用中缓存结果,并在后续调用中更快地为它们提供服务,但遗憾的是,它不是从同一会话中调用的:(

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

那么,这里有什么改进性能的方法吗