【发布时间】:2020-09-29 23:40:35
【问题描述】:
在 Tableau 中使用“自定义 SQL”而不是联接是否会提高服务器上数据提取刷新的性能?
【问题讨论】:
-
嗨...看看这个链接interworks.com/blog/zgorman/2015/08/25/…
标签: sql tableau-api
在 Tableau 中使用“自定义 SQL”而不是联接是否会提高服务器上数据提取刷新的性能?
【问题讨论】:
标签: sql tableau-api
几乎每个性能问题的答案首先是“视情况而定”,其次是测试和理解测量结果。真实的结果比互联网上任何人(来自我或其他人)的建议更重要
不过,自定义 SQL 通常无助于提高 Tableau 的性能,而且往往会造成伤害。通常最好在 Tableau 中定义您的关系,然后让 Tableau 为每个视图生成优化的 SQL,就像让编译器生成优化的机器代码一样。
当您使用自定义 SQL 时,您会阻止 Tableau 优化它生成的 SQL。它必须运行您在子查询中提供的 SQL。
Tableau 中自定义 SQL 的最佳用例是访问数据库特定功能,或者可能是窗口查询。通过使用相应的 Tableau 功能,可以使用大多数其他 SQL 功能。
如果您确实有必须使用的复杂的慢速自定义 SQL 查询,通常最好进行数据提取,这样您只需在数据提取刷新期间支付性能成本。
因此,在您的情况下,我将集中精力简化或消除自定义 SQL,监控生成的 SQL 的查询计划,并为您的数据库编制索引以最好地支持该查询。
【讨论】: