Google bigquery 删除数据时未使用Bigquery分区

Google bigquery 删除数据时未使用Bigquery分区,google-bigquery,Google Bigquery,我们的项目费用很高。看起来这样的命令没有使用分区。bigquery中有没有一种方法可以根据子查询的结果强制查询具有分区意识 以下查询当前正在处理TBs数据 delete from tableName where QuoteDate >= cast((SELECT batch_date as start from batch_table where Batch_Status='Running') as timestamp) 处理1TB的数据 delete from Ta

我们的项目费用很高。看起来这样的命令没有使用分区。bigquery中有没有一种方法可以根据子查询的结果强制查询具有分区意识

以下查询当前正在处理TBs数据

    delete from tableName
    where QuoteDate >= cast((SELECT batch_date as start  from batch_table where  Batch_Status='Running') as timestamp)
处理1TB的数据

delete from TableName
    where
        QuoteDate >= '2018-11-01'
理想情况下,这应该只处理数百MB的数据

delete from TableName
    where
        QuoteDate >= '2018-11-01'
从以下位置处理~100MB的数据:

需要对查询的多个阶段求值以解析谓词(如内部查询或子查询)的复杂查询不会从查询中删除分区

以下查询不修剪分区注意子查询的使用:

目前,您需要评估单独提供的查询。

现在使用BigQuery Beta,可以降低成本

基本上,定义脚本变量来捕获子查询的动态部分。然后,在后续的查询中,脚本变量被用作过滤器来修剪要扫描的分区

声明日期\筛选日期时间 默认情况下,从batch_Status='Running'所在的batch_表中选择batch_日期; 从表名中删除 其中QuoteDate>=日期过滤器;