sql - Tableau 中的自定义 SQL 查询

标签 sql tableau-api

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

最佳答案

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

尽管如此,自定义 SQL 通常无助于提高 Tableau 的性能,而且常常有害。通常最好在 Tableau 中定义关系,然后让 Tableau 为每个 View 生成优化的 SQL——就像让编译器生成优化的机器代码一样。

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

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

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

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

关于sql - Tableau 中的自定义 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64115589/

相关文章:

php - 使用 php 准备好的语句将图像(blob)插入 mysql 数据库

sql - 如何在不下载工作簿的情况下在服务器上查看 Tableau 自定义 SQL?

tableau-api - 如何在tableau中聚合表计算

csv - Netlogo 导出/Tableau 问题

tableau-api - 是否可以在没有 Tableau Desktop 的情况下使用 Tableau Server?

mysql - group by 无法正确连接两个表

sql - 如何使用 row_number 和分区依据查找重复值

java - Android SQLite 如果列等于用户名则列出所有数据 [帮助编写原始查询]

mysql - sqlite 查询 order by 子句

date - 画面 : Aggregate and Non-aggregate error with Date calculations