SQL을 실행하면 파싱하고 최적화한다 이때마다 연산은 불필요하기에 보통 DB안에는 라이브러리 캐시가 있다.
만약 SQL문을 SELECT * FROM CUSTOMER WHERE LOGIN_ID = '" + login_id + "'";로 작성한다면
라이브러리 캐시에는
SELECT * FROM CUSTOMER WHERE LOGIN_ID = 'a'
SELECT * FROM CUSTOMER WHERE LOGIN_ID = 'b'
SELECT * FROM CUSTOMER WHERE LOGIN_ID = 'c'
SELECT * FROM CUSTOMER WHERE LOGIN_ID = 'd'
등등이 가득차있다. 그때마다 캐시를 생성하는 것이다
그런데 만약 SELECT *FROM CUSTOMER WHERE LOGIN_ID = ?; 로 작성한다면
라이브러리 캐시에는
SELECT * FROM CUSTOMER WHERE LOGIN_ID = :1 밖에 없어서 나머지는 캐싱을 활용할 수 있다.
'데이터베이스 > RDB' 카테고리의 다른 글
| 풀 테이블 스캔 vs 풀 인덱스 스캔 (0) | 2026.03.15 |
|---|---|
| MySQL의 쿼리 실행 구조 (0) | 2026.03.08 |
| 인덱스 스캔 (0) | 2026.01.10 |
| 순차I/O와 랜덤I/O (0) | 2026.01.10 |
| 데이터베이스 격리수준 (0) | 2025.12.23 |