Раздел Bigquery не используется при удалении данных - PullRequest
0 голосов
/ 13 ноября 2018

Наш проект оплачивается дорого.Похоже, такие команды не используют раздел.Есть ли способ в большом запросе заставить запрос стать осведомленным о разделе на основе результатов подзапроса?

Следующий запрос в настоящее время обрабатывает ТБ данных.

    delete from tableName
    where QuoteDate >= cast((SELECT batch_date as start  from batch_table where  Batch_Status='Running') as timestamp)

Обрабатывает 1 ТБ данных.

В идеале это должно обрабатывать только сто МБ данных.

delete from TableName
    where
        QuoteDate >= '2018-11-01'

Процессы ~ 100 МБ

1 Ответ

0 голосов
/ 13 ноября 2018

С документация :

Сложные запросы, требующие оценки нескольких этапов запроса для разрешения предиката (например, внутренних запросов или подзапросов), не удаляют разделы из запроса.

...

Следующий запрос не удаляет разделы (обратите внимание на использование подзапроса):

#standardSQL
SELECT
  t1.name,
  t2.category
FROM
  table1 t1
INNER JOIN
  table2 t2
ON
  t1.id_field = t2.field2
WHERE
  t1.ts = (SELECT timestamp from table3 where key = 2)

В настоящее время вам необходимо оценить запросы, которые вы предоставили отдельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...