У меня есть сценарий SQL, как показано ниже, который состоит из 65000 операторов вставки.
SET DEFINE OFF;
SET AUTOCOMMIT 1000;
SET FEEDBACK OFF;
Insert into table (col1,..col20) values ('val1',...'val2');
Insert into table (col1,..col20) values ('val1',...'val2');
...
...
Когда я запускаю этот скрипт через sqlplus через командную строку (sqlplus usr/pwd@DB @script.sql), мне потребовалось около 4 часов.
Но когда я запускаю тот же скрипт, регистрируясь в putty, подключающемся к серверу, и запускаю скрипт через sqlplus (sqlplus usr/pwd@DB @script.sql), это занимает всего одну минуту.
Не могли бы вы сообщить мне, почему эта разница вызвана
begin ... end;
вокруг всего списка вставок? (Кроме того, почему вы вообще делаете 65 000 отдельных вставок — откуда берутся эти значения?) - person Alex Poole   schedule 05.05.2016