Как улучшить скорость импорта на SQL Workbench / J - PullRequest
0 голосов
/ 04 июня 2018

Пробовал, как показано ниже, но импортирует ужасно медленно, со скоростью 3 строки / сек

WbImport -file=c:/temp/_Cco_.txt
         -table=myschema.table1
         -filecolumns=warehouse_id,bin_id,cluster_name
         ---deleteTarget
         -batchSize=10000
         -commitBatch 

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

WbInsert может использовать COPY API драйвера Postgres JDBC.

Для использовать , использовать

WbImport -file=c:/temp/_Cco_.txt
         -usePgCopy
         -table=myschema.table1
         -filecolumns=warehouse_id,bin_id,cluster_name

Опции -batchSize и -commitBatch в этом случае игнорируются, поэтому их следует удалить.

SQL Workbench / J будет по существу использовать эквивалент COPY ... FROM STDIN.Это должно быть намного быстрее, чем обычные операторы INSERT.

Для этого требуется, чтобы входной файл был отформатирован в соответствии с требованиями команды COPY.

0 голосов
/ 06 июня 2018

WbImport использует INSERT для загрузки данных.Это худший способ загрузки данных в Redshift.

Для этого вы должны использовать команду COPY, как указано в документации Redshift:

"Мы настоятельно рекомендуем использовать команду COPY для загрузки больших объемов данных. Использование отдельныхОператоры INSERT для заполнения таблицы могут быть слишком медленными. "

...