본문 바로가기

개발일기

0306_ 정적쿼리 vs 동적쿼리

  • 정적 쿼리

       쿼리의 형태가 일정하다.

       변수에 다른 값이 와도 쿼리문이 변경되지 않는다.

SELECT *
FROM   TABLE
WHERE  1 = 1
AND    key = #변수#

 

  • 동적쿼리

       변수에 따라 쿼리문이 달라질 수 있다.

       아래 예문에서 변수값이 만약 주어지지 않는다면 조건절에는 1 = 1 만 남게 된다.

       동적쿼리로 작성하면 SP(Stored Prodedure)가 새로 캐싱되기 때문에 재사용성이 떨어진다.

SELECT *
FROM   TABLE
WHERE  1 = 1
IF(#변수# != ''){
   AND key = #변수#
}

 

'개발일기' 카테고리의 다른 글

0314_ .cfg 등 파일 확장자명 정리  (0) 2023.03.21
0313_ ETL이란? CRM, ERP란?  (0) 2023.03.21
0309_ InvokeHandler Method , Thread Pool 이란?  (0) 2023.03.20
0308_ 이클립스 디버깅모드  (0) 2023.03.20
0307_ YUI Compressor란?  (0) 2023.03.20