참조 :
https://wintness.tistory.com/93
[펌] Cursor 란??
CURSOR 란? 오라클에서 CURSOR란 시스템 글로벌 영역의 공유 풀 내에 저장공간을 사용하여 사용자가 SQL 문을 실행시키면 결과값을 저장공간에 가지고 있다가 원하는 시기에 순차적으로 fetch해 처
wintness.tistory.com
DB POOL 이란
HTTP 요청 == DB접속 try 하는거
DB connection을 하고 정보를 가져오고 connection을 닫는 다면, 효율이 좋지 않다.
따라서 Connection Pool 이라는 컨테이너를 구동시키고 connection 이라는 객체를 생성해두고, Client가 DBMS 작업(읽고 쓰고)를 할 때 connection 이라는 객체를 할당시켜주고 쓰게 하는 방식이다.
이런식으로 하면 DB와 connection 하고 close계속해서 해주지 않아도 된다.
CURSOR 이란
설명_1
select문을 통해 결과값들이 나올 때 이 결과들은 메모리 공간에 저장하게 되는데 이때, 이 메모리 공간을 "CURSOR"라고 한다.
설명_2
오라클에서 CURSOR란 시스템 글로벌 영역의 공유 풀 내에 저장공간을 사용하여, 사용자가 SQL 문을 실행(SELECT같은)시키면 결과값을 저장공간 저장해 두었다가 원하는 시기에 순차적으로 fetch해 처리하여 해당 결과 셋을 프로그래밍적으로 접근할수 있게 도와주는 기능
- 커서란? : 쿼리문에 의해서 반환되는 결과값들을 저장하는 메모리 공간이다.
- Fetch란 : 커서에서 원하는 결과값을 추출하는 것.
CURSOR 종류
1. 묵시적 커서 ( Implicit Cursor )
- DBMS에서 자동으로 선언해주는 SQL 커서 ( 확인 불가능 )
2. 명시적 커서 ( Explicit Cursor )
- 사용자가 선언해서 생성한 후에 사용하는 SQL 커서, 주로 여러개의 행을 처리할 때 씀
ex)
개념
DECLARE CURSOR : 커서 선언 ( 여기 조건에 부합하는 data들을 cursor_name 이라는 곳에 저장 )
OPEN : 커서 열기 ( 커서 열기 -> Connect Pool 에 접근 해서 Cursor메모리공간(cursor_name) connect )
FETCH : FETCH ~ INTO , 커서가 가리키는 곳(cursor_name )의 결과 값을 꺼내옴 ( )
CLOSE : 커서 닫기 ( )
댓글