【问题标题】:Custom SQL Query in TableauTableau 中的自定义 SQL 查询
【发布时间】:2020-09-29 23:40:35
【问题描述】:

在 Tableau 中使用“自定义 SQL”而不是联接是否会提高服务器上数据提取刷新的性能?

【问题讨论】:

标签: sql tableau-api


【解决方案1】:

几乎每个性能问题的答案首先是“视情况而定”,其次是测试和理解测量结果。真实的结果比互联网上任何人(来自我或其他人)的建议更重要

不过,自定义 SQL 通常无助于提高 Tableau 的性能,而且往往会造成伤害。通常最好在 Tableau 中定义您的关系,然后让 Tableau 为每个视图生成优化的 SQL,就像让编译器生成优化的机器代码一样。

当您使用自定义 SQL 时,您会阻止 Tableau 优化它生成的 SQL。它必须运行您在子查询中提供的 SQL。

Tableau 中自定义 SQL 的最佳用例是访问数据库特定功能,或者可能是窗口查询。通过使用相应的 Tableau 功能,可以使用大多数其他 SQL 功能。

如果您确实有必须使用的复杂的慢速自定义 SQL 查询,通常最好进行数据提取,这样您只需在数据提取刷新期间支付性能成本。

因此,在您的情况下,我将集中精力简化或消除自定义 SQL,监控生成的 SQL 的查询计划,并为您的数据库编制索引以最好地支持该查询。

【讨论】:

  • 我会支持亚历克斯所说的一切。根据我的经验,避免使用自定义 SQL 的第一个原因是因为客户几乎总是会改变他们想要使用的粒度和属性的想法。在我几乎 100% 的自定义 SQL 中,我不得不返回并重写它,因为客户要么想进一步深入研究,要么他们希望更灵活地创建自己的计算。 Tableau 的强大之处在于自助式数据探索。自定义 SQL 通常会将您锁定在限制数据探索的固定数据集中。
猜你喜欢
  • 2015-06-29
  • 2021-03-06
  • 1970-01-01
  • 2020-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-22
  • 2021-02-05
相关资源
最近更新 更多