제가 알기로는 Cursor사용시 Cursor를 Open하는 경우
이미 해당 Select의 Result Set에 Lock이 걸리고
Select된 Result Set이 임시버퍼에 저장되고
Fetch시마다 이를 Pointer를 이동하여 한건씩 가져온다고 알고
있습니다.
문제는 대량의 데이터를 가지고 올때 Select시 Result Set 모두를
버퍼에 가져올것 같지는 않은데
Cusor의 Life Cycle(Delcare, Open, Fetch, Close)에 따른 DBMS Call
및 메모리관리는
어떻게 되는지 궁금합니다.
(예:Open시 DBMS Call과 함께 Result Set을(크든, 작든 모두)
가져온다.
Fetch시 DBMS Call과 함께 한건씩 메모리(Array Fetch시 여러건)를
가져온다. 즉 Fetch만큼 DBMS Call이 이루어진다.)
|