Я хочу добавлять новые данные из table_a
в table_b
каждый день с помощью запланированного запроса в Google Big Query. См. Пример ниже.
Однако, когда я пишу инструкцию SELECT
, которая добавляется к table_b
, размер запроса становится очень большим.
Если я сравниваю запрос Dynami c с запросом тот, где я использую фиксированную дату (здесь: 30.05.2020
), размер запроса десятикратный:
SELECT
date_a as date_b,
col1,
col2,
col3
FROM `project.dataset.table_a`
WHERE
date_a > (select max(date_b) from `project.dataset.table_b`)
ORDER by date_b
table_a (разделен на date_a
; общий размер более 200 ГБ) (этот пример упрощается, поскольку я делаю другие JOINs
и UNIONs
et c. в запросе)
+------------+---------+---------+------+--------------+--------------+
| date_a | col1 | col2 | col3 | others | others |
+------------+---------+---------+------+--------------+--------------+
| 27.05.2020 | henry | muller | 100$ | not relevant | not relevant |
| 28.05.2020 | jamie | fox | 200$ | not relevant | not relevant |
| 29.05.2020 | richard | branson | 20$ | not relevant | not relevant |
| 30.05.2020 | jannet | jackson | 50$ | not relevant | not relevant |
| 31.05.2020 | michael | jackson | 90$ | not relevant | not relevant |
+------------+---------+---------+------+--------------+--------------+
table_b (не разбит на части, общий размер менее 50 МБ)
+------------+---------+---------+------+
| date_b | col1 | col2 | col3 |
+------------+---------+---------+------+
| 27.05.2020 | henry | muller | 100$ |
| 28.05.2020 | jamie | fox | 200$ |
| 29.05.2020 | richard | branson | 20$ |
| 30.05.2020 | jannet | jackson | 50$ |
+------------+---------+---------+------+
Вопрос:
У вас есть совет, как я могу прочитать MAX (date_b) до или другое предложение по сокращению количества запросов?