Cursor란?
서버 프로세스내의 Private SQL area를 가리키는 일종의 Handle(Pointer)를 지칭.
Cursor는 클라이언트 프로세스가 서버의 데이터를 가져오기 위해 가지는 일종의 Pointer임
1. Client에서 SQL 요청
2. DB storage 또는 buffer cache 에 있는 데이터를 Private SQL Area에 저장후에 Client에게 반환
3. Client 는 요청한 SQL 데이터가 완전히 반환 될때까지 fetch 요청
Client 에선 pl/sql은 cursor 라고 되어있고 , JDBC에선 ResultSet으로 데이터를 받는다
Client에선 Cursor point( =server process의 Memory Pointer)만 움직여서 요청하면 된다
PL/SQL | JDBC |
Declare Cursor | Create PrepareStatement |
Open Cursor | ResultSet = Execute Query |
Fetch Cursor | ResultSet next() |
Close Cursor | ResultSet cloes() |
* Client에서 Server process로 부터 한번에 받을 데이터양을 Array Size로 조절할 수 있다
* Array size 만큼 fetch해서 뿌림
'DBMS > Oracle' 카테고리의 다른 글
[Oracle] Data Dictionary (0) | 2024.04.16 |
---|---|
[Oracle]PGA- AMM (Automatic Memory Management) (0) | 2024.04.15 |
[Oracle] PGA란? (0) | 2024.04.15 |
[Oracle] Wait Event란? (wait event class 정리 ) (0) | 2024.03.03 |
[Oracle] SID vs SERVICE_NAMES vs DB_NAME vs GLOBAL_DBNAME 차이점 (0) | 2024.03.03 |