Как улучшить скорость импорта на 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: