Я пытаюсь вставить данные в одну таблицу (trgt_tbl
) из второй таблицы (src_tbl
), используя соединение по ключевым полям. Кажется, что запрос работает нормально, но он очень медленный. В trgt_tbl
имеется около 16 млн. Записей, и ожидается, что каждая ежедневная дельта-загрузка из src_tbl
будет иметь около 500 тыс. Записей. Я пытаюсь выяснить, могу ли я сделать это лучше.
Примечание. Слияние не является вариантом, поскольку данные вставляются в Redshift, а Redshift не поддерживает слияние.
INSERT INTO trgt_tbl (col1,
col2,
col3,
col4,
col5,
col6)
SELECT col1,
col2,
col3,
col4,
col5,
col6
FROM src_tbl s
WHERE NOT EXISTS (
SELECT 1
FROM trgt_tbl t
WHERE
t.col1 = s.col1
OR t.col2 = s.col2
OR t.col3 = s.col3
OR t.col4 = s.col4
)