Google bigquery BigQuery:日期和_表_后缀的连接速度非常慢

Google bigquery BigQuery:日期和_表_后缀的连接速度非常慢,google-bigquery,data-partitioning,Google Bigquery,Data Partitioning,在我的查询中,我希望从分区表中获取数据,在分区表中,每个用户都需要一个不同的分区,具体取决于用户特定的日期。这需要我在user和date=partition上加入。这个连接非常非常慢。跑步需要12分钟左右 查询的基本结构如下: 选择 t1.U用户id ,t1.date ,t2.某个字段 从't1'变为t1 将't2_*`连接为t2 在t1.user\u id=t2.user\u id上 和t2._表_后缀=格式_日期%Y%m%d,t1.DATE 如何更快地得到相同的结果?一些因素将此查询从12分

在我的查询中,我希望从分区表中获取数据,在分区表中,每个用户都需要一个不同的分区,具体取决于用户特定的日期。这需要我在user和date=partition上加入。这个连接非常非常慢。跑步需要12分钟左右

查询的基本结构如下:

选择 t1.U用户id ,t1.date ,t2.某个字段 从't1'变为t1 将't2_*`连接为t2 在t1.user\u id=t2.user\u id上 和t2._表_后缀=格式_日期%Y%m%d,t1.DATE
如何更快地得到相同的结果?

一些因素将此查询从12分钟提高到了1分钟:

将t2表预筛选到与t1连接相关的分区 将日期字段添加到t2的CTE,以加快与t1的连接 这看起来是这样的:

以t1_日期作为 选择 MINdate min_日期 ,MAXdate max_date 从…起 `t1` ,t2_v2 AS 选择 用户id ,某个领域 ,分析\u日期%Y%m%d,t2.\u表格\u后缀日期 从t2开始_* ,t1_日期 其中_table_后缀在格式_DATE%Y%m%d和t1_dates.min_DATE之间 并设置日期%Y%m%d的格式,t1\u dates.max\u DATE 选择 t1.U用户id ,t1.date ,t2.某个字段 从't1'变为t1 将t2_v2连接为t2 在t1.user\u id=t2.user\u id上 t2.date=t1.date
首先,您有多少个分区表,它们有多大?许多分区1000个,每个分区都有大量的数据事件级数据,即用户登录…好的。然后,我将尝试找到一个公共数据集来重现您的案例,并为您的查询找到更好的语法。我查询了一些公共数据集,到目前为止,我无法重现您的问题,但当数据集在您加入之前经过筛选时,查询会变得更快。因此,您可以尝试这样做,从't2_*`中加入SELECT t2.some_字段,其中t2._table_suffix=FORMAT_DATE%Y%m%d,t1.DATE。你能试试看是否更好吗?我不明白你的疑问。。。请把完整的版本寄给我好吗?