개발일기
0306_ 정적쿼리 vs 동적쿼리
포로리33
2023. 3. 20. 15:03
- 정적 쿼리
쿼리의 형태가 일정하다.
변수에 다른 값이 와도 쿼리문이 변경되지 않는다.
SELECT *
FROM TABLE
WHERE 1 = 1
AND key = #변수#
- 동적쿼리
변수에 따라 쿼리문이 달라질 수 있다.
아래 예문에서 변수값이 만약 주어지지 않는다면 조건절에는 1 = 1 만 남게 된다.
동적쿼리로 작성하면 SP(Stored Prodedure)가 새로 캐싱되기 때문에 재사용성이 떨어진다.
SELECT *
FROM TABLE
WHERE 1 = 1
IF(#변수# != ''){
AND key = #변수#
}