Как улучшить скорость импорта на SQL Workbench/J

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

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

2 ответа

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.

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

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

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

Другие вопросы по тегам