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
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น