Spotfire外部表的按需负载

时间:2018-09-17 08:08:38

标签: spotfire

假设我有两个表,TableA(嵌入式数据),TableB(外部数据)。

场景1: 根据来自TableA的标记按需设置TableB。当您标记来自TableA的内容时,需要花费“ n”秒的时间来填充TableB中的数据。外部表上的按需设置就像名为LOD.png enter image description here

的屏幕截图

方案2: 尚未在TableB上引入按需设置(请注意,TableB仍然是外部的)。在TableA和TableB之间创建了一个关系。现在,基于TableA的标记,可以通过选项“使用标记限制数据”来限制TableB。屏幕快照名为ss2 enter image description here

问题: 1.哪种情况更快地获取数据。 2.从调试日志中,在两个方案中传递的查询是相同的。这是否意味着两个方案相同或不同?

1 个答案:

答案 0 :(得分:0)

如果表B很大,或者记录需要很长时间才能从数据库中获取,则方案1很好。在这种情况下,表B仅返回基于您在表A中标记的行。这意味着行数可能会大大减少,但这也意味着每次标记更改时,都必须提取这些行。那时候。如果数据库需要很长时间,则可能会令人沮丧。另一方面,如果数据库的速度非常快,并且您将行数限制得足够少,则这几乎是无缝的。最终,您将在查询运行后将这些数据拉入内存,因此所有Spotfire功能都可用。

如果计算非常复杂并且需要利用外部DB的功能来执行,则方案2很好。这意味着对报表的任何更改,可视化的更改等都需要将新查询发送到外部数据源,从而生成新的汇总数据表。这意味着当您未连接到外部数据源时,无法使用数据库内数据表对可视化进行任何更改。请注意,Spotfire中有一些功能可用于内存中的数据,例如按需数据,而外部数据则不可用。

我个人希望将数据保持在Spotfire附近,以利用所有Spotfire功能,但是我无法确切告诉您哪种方法是您的正确选择。这些TIBCO链接可能在内存数据和外部数据之间的区别上有所帮助:

https://docs.tibco.com/pub/spotfire/6.5.1/doc/html/data/data_overview.htm https://docs.tibco.com/pub/spotfire/6.5.1/doc/html/data/data_working_with_in-database_data.htm