Мне нужно ускорить процедуру, которая вставляет записи в таблицу сопоставления.
Используемая мной процедура имеет подпись:
InsertDocsToFolder as
procedure this(p_folderid in number, p_docs in out nocopy DocList)
DocList определен как
type DocList is table of int index by integer;
Ядро процедуры вставляет записи следующим образом, t_docs - этоОсновная таблица документа и t_mapping - это отображение таблицы p_folderid в p_docs:
forall i in 1..p_docs.count save exceptions
insert into t_mapping select p_folderid, p_docs(i) from t_docs D where D.docid = p_docs(i);
commit;
Я думаю, что я должен быть в состоянии заменить цикл forall одним оператором SQL.Кто-нибудь может предложить более быструю технику?Поскольку p_docs является табличным типом, могу ли я присоединить его непосредственно к t_docs?