В настоящее время я делаю академический тест TPC-H, и у меня есть несколько больших таблиц, которые я хочу загрузить, используя прямой путь (который работал великолепно и очень быстро) и обычный путь.
Длячто я использовал этот пакетный скрипт:
for /F "tokens=1,2" %%A in (table4_records.txt) do (
sqlldr userid='tpch/tpch' control=%%A.ctl rows=%%B bindsize=? readsize=? SILENT=HEADER log=bulkload_logs\sf4\bulk_%%A%1.log
)
Проблема в том, что независимо от того, какие значения я даю для параметров bindsize и / или readsize, он всегда фиксирует от 65534 до 65534 строк.Я уже передал размер %% B, который является точным количеством строк в таблице.
При прямой загрузке я просто использовал строки и фиксацию, как ДЕЙСТВИТЕЛЬНО сделано после загрузки таблицы отверстий.
Я хочу сделать что-то подобное, но с обычным путем загрузки - я знаю, что это не быстрее, но в этом суть.
Не могли бы вы сказать мне, как я могу дать правильные параметры, чтобы я мог:1 - загружать как можно больше данных за один раз;
2 - делать коммиты реже, предпочтительно в конце загрузки таблицы.
Вот имена таблиц и количество строк:
lineitem 23996604 -> является самым большим и имеет aprox.3 ГБ на диске
заказы 6000000
partsupp 3200000
запчасти 800000
заказчик 600000
поставщик 40000
нация 25
регион 5