declare | ||||||||||||||
l_cnt pls_integer := 20; | ||||||||||||||
l_start number; | ||||||||||||||
l_run number; | ||||||||||||||
begin | ||||||||||||||
l_start := dbms_utility.get_time; | ||||||||||||||
for i in 1..l_cnt loop | ||||||||||||||
explicit_cursor; | << Cursor…open
loop… fetch into |
|||||||||||||
end loop; | ||||||||||||||
l_run := dbms_utility.get_time - l_start; | ||||||||||||||
dbms_output.put_line ('run 1 in .... '||l_run||' hsecs'); | ||||||||||||||
l_start := dbms_utility.get_time; | ||||||||||||||
for i in 1..l_cnt loop | ||||||||||||||
implicit_cursor_1; | << Cursor…for loop | |||||||||||||
end loop; | ||||||||||||||
l_run := dbms_utility.get_time - l_start; | ||||||||||||||
dbms_output.put_line ('run 2 in .... '||l_run||' hsecs'); | ||||||||||||||
l_start := dbms_utility.get_time; | ||||||||||||||
for i in 1..l_cnt loop | ||||||||||||||
implicit_cursor_2; | << for (select)loop | |||||||||||||
end loop; | ||||||||||||||
l_run := dbms_utility.get_time - l_start; | ||||||||||||||
dbms_output.put_line ('run 3 in .... '||l_run||' hsecs'); | ||||||||||||||
l_start := dbms_utility.get_time; | ||||||||||||||
for i in 1..l_cnt loop | ||||||||||||||
explicit_cursor_bulk; | << Cursor…open
loop…fetch… bulk collect into…limit |
|||||||||||||
end loop; | ||||||||||||||
l_run := dbms_utility.get_time - l_start; | ||||||||||||||
dbms_output.put_line ('run 4 in .... '||l_run||' hsecs'); | ||||||||||||||
end; | ||||||||||||||
run 1 in .... 311 hsecs | << explicit_cursor | แย่สุด | ||||||||||||
run 2 in .... 18 hsecs | << implicit_cursor_1 |
|
เท่ากัน | * หมายเหตุ ถ้าไม่ใช้ Ver. 10g ขึ้นไป จะมีความเร็วไม่ต่างจากแบบที่ 1 มากนัก จะเร็วเพียงเล็กน้อย แต่ถ้าเป็น 10g มีการปรับปรุง for loop ให้เป็นแบบ array |
||||||||||
run 3 in .... 18 hsecs | << implicit_cursor_2 | |||||||||||||
run 4 in .... 14 hsecs | << explicit_cursor_bulk | ดีสุด |
ようこそ (Jyokoso) MY BLOG
いらっしゃいませ (hajimemashite) สำหรับผู้เข้าใหม่นะค่ะ ^^V
14 กันยายน 2555
Bulk Load Oracle 10G
12 กันยายน 2555
merge into using on
MERGE INTO target_table tgt USING source_table src ON ( src.object_id = tgt.object_id ) WHEN MATCHED -- เมื่อ match กัน คือเมื่อ src.object_id = tgt.object_id THEN -- update data ให้ name และ type ของ table target_table = name และ type ของ table source_table UPDATE SET tgt.object_name = src.object_name , tgt.object_type = src.object_type WHEN NOT MATCHED -- เมื่อไม่ match กัน คือเมื่อ src.object_id != tgt.object_id THEN --insert data จาก table source_table ลง table target_table
INSERT ( tgt.object_id , tgt.object_name , tgt.object_type ) VALUES ( src.object_id , src.object_name , src.object_type );
07 กันยายน 2555
สมัครสมาชิก:
บทความ (Atom)