Làm cách nào để chèn hơn một triệu hàng trong Oracle theo cách tối ưu cho việc mua sắm sau đây? Nó bị treo nếu tôi tăng vòng lặp FOR lên hàng triệu hàng.Cách nhanh nhất để chèn hàng triệu hàng trong Oracle
create or replace procedure inst_prc1 as
xssn number;
xcount number;
l_start Number;
l_end Number;
cursor c1 is select max(ssn)S1 from dtr_debtors1;
Begin
l_start := DBMS_UTILITY.GET_TIME;
FOR I IN 1..10000 LOOP
For C1_REC IN C1 Loop
insert into dtr_debtors1(SSN) values (C1_REC.S1+1);
End loop;
END LOOP;
commit;
l_end := DBMS_UTILITY.GET_TIME;
DBMS_OUTPUT.PUT_LINE('The Procedure Start Time is '||l_start);
DBMS_OUTPUT.PUT_LINE('The Procedure End Time is '||l_end);
End inst_prc1;
Tôi sẽ không khuyên bạn sử dụng con trỏ cho việc này. Khi con trỏ sẽ giảm hiệu suất của bạn. –
Kiểm tra [link] này (http://www.orafaq.com/wiki/Oracle_Row_Generator_Techniques) – haki