eunzae's develog
[SQL] 바인드 변수(Bind Variable) 본문
바인드 변수(Bind Variable)
쿼리의 재사용성을 높이기 위해 변수를 설정하고 값을 할당하는 기능
VAR V1 NUMBER; -- 변수선언
EXEC :V1 := 2; -- 값 할당
SELECT :V1 AS C1
FROM DUAL; -- C1 열에 2가 입력된 결과가 출력됨
- VAR 명령어로 변수를 선언
- EXEC 명령어로 값을 할당
- 변수를 선언하고 사용할 때에는 : 구분자를 변수명 앞에 추가해서 사용
Parsing 부하 감소를 위해 재사용 가능한 Static SQL 문장의 작성
- SQL 문에 상수 값을 사용하여 작성 할 떄 서로 다른 상수 값은 Parsing 시 다른 SQL 문으로 인식하여 재 Parsing 하므로 Bind Variable을 사용하여 같은 SQL이 공유될 수 있도록 함
- Parsing은 CPU를 많이 소모하므로 Parsing을 피할 수 있도록 SQL이 공유되게 작성함
<바인드변수 미사용: 다른 SQL문으로 인식되어 재 Parsing 됨>
SELECT NAME
FROM EMP
WHERE NUM = 9;
SELECT NAME
FROM EMP
WHERE NUM = 10;
<바인드변수 사용>
SELECT NAME
FROM EMP
WHERE NUM = :num;
'Language > SQL' 카테고리의 다른 글
[SQL] 그룹함수 (0) | 2022.12.16 |
---|---|
[SQL]윈도우 함수 (0) | 2022.12.16 |
[SQL] VIEW (0) | 2022.12.16 |
[SQL] 서브쿼리 심화 (0) | 2022.12.16 |
[SQL] JOIN 심화 (0) | 2022.12.15 |