Google bigquery 有人知道BigQuery中有多少表联接是最优的吗?

Google bigquery 有人知道BigQuery中有多少表联接是最优的吗?,google-bigquery,Google Bigquery,BigQuery配额和限制建议:每个查询引用的最大表数=1000,最大列数=10000 但是,查询可以处理的最大联接是什么?同样,尽管增加了更多的计算能力,但在BQ性能开始下降之后,连接的最佳数量是多少 有什么基准吗?这实际上取决于您的用例、数据大小、连接类型等。BQ能够处理合理数量的连接,但您可以突破限制 如果您正在执行特殊查询,则很难(但并非不可能)用连接重载查询 如果您正在进行ETL/ELT,那么具体化中间表以减少每个查询的联接次数通常是很有帮助的 如果您使用BQ作为BI工具的后端,您可能

BigQuery配额和限制建议:每个查询引用的最大表数=1000,最大列数=10000

但是,查询可以处理的最大联接是什么?同样,尽管增加了更多的计算能力,但在BQ性能开始下降之后,连接的最佳数量是多少


有什么基准吗?

这实际上取决于您的用例、数据大小、连接类型等。BQ能够处理合理数量的连接,但您可以突破限制

如果您正在执行特殊查询,则很难(但并非不可能)用连接重载查询

如果您正在进行ETL/ELT,那么具体化中间表以减少每个查询的联接次数通常是很有帮助的

如果您使用BQ作为BI工具的后端,您可能希望预联接和具体化表,以避免在运行时联接


无论是哪种方式,我发现在加入之前尽可能使用CTE来减少数据是一种很好的做法。

BQ上的目标状态模式的情况是很多规范化的表,它们不会被具体化,因为数据需要尽可能最新。在幕后,由BI工具(如Tableau)生成的查询请求将具有大量的表联接,范围为30到120个表,具体取决于所触发的查询。因此,您想知道BQ开始显示性能下降的表联接的上限。您描述的场景似乎暗示可能有一些较小维度的表与一些事实表联接。如果是这种情况,每个连接都会使查询速度减慢一点(当然),但我不认为性能会在某个时候急剧下降。