featur

[MSSQL] 동적 쿼리의 단점 본문

개발/MSSQL

[MSSQL] 동적 쿼리의 단점

featur 2016. 12. 1. 17:56

1. 동적 쿼리의 문제점


   1) 실행 시마다 컴파일을 반복하게 됨으로써 PreCompiled/Procedure Cache 재사용성을 저해


   2) Ownership Chain 권한 처리 문제


   3) SQL Injection 관련 보안 문제


   4) 공통 모듈에 대한 관리 및 배포 어려움

 


2. 저장 프로시저를 사용하는 이유


   1) 실행 계획 Caching을 통한 성능 이익


   2) Network Traffic 최소화


   3) 출력 Parameter, Return 값 사용


   4) 소유권 체인을 통한 권한 처리, SQL Injection 차단 보안 기능


   5) 업무 논리의 캡슐화, 모듈화


   6) SQLXML 3.0 이후 릴리스에서 XML WebService 노출 기능 등..


3. 동적 쿼리가 가지고 있는 문제점을 저장 프로시저 안에 재현하는 것은 2번에서 언급한 저장 프로시저의 장점을 제대로 살리지 못함을 의미, 현재 저장 프로시저의 적지 않은 코드가 동적 쿼리 형태로 작성되고 있으며, 상당 수 정적 쿼리로 재 작성 가능


Comments