DB2®의 정적 SQL은
런타임 시 데이터에 능률적으로 액세스하고 응용프로그램 보안을 개선할 수 있는
강력한 기능입니다.
정적 SQL은
다음과 같은 이점을 제공합니다.
- 동적문 캐시 방지
- 정적 SQL 사용은 동적 SQL을 사용하는 응용프로그램의 성능을 향상시켜 DB2의 동적문 캐시 경쟁을 줄입니다.
- 액세스 경로 일관성
- 정적 SQL은 응용프로그램을 실행하기 전에 액세스 경로를 잠금으로써 응답 시간을 예측 가능하게 하며 안정되게 합니다. 반대로,
동적 SQL의 액세스 경로는 런타임 시 계산됩니다.
- 응용프로그램의 성능 향상 가능성
- 동적 SQL은 응용프로그램의 성능을 향상시킬 수 있습니다.
- 액세스 플랜은 런타임 이전에 판별되므로 런타임 시 SQL문을 준비하지 않아도 됩니다.
- 각 명령문을 준비하고 설명할 필요가 없기 때문에,
클라이언트 응용프로그램과 데이터베이스 서버 간에 네트워크 트래픽이 저하됩니다.
- 정적 SQL은 술어에 사용되는 호스트 변수 또는 매개변수에 대한
데이터 유형을 엄격하게 적용합니다. 엄격하게 적용하므로
데이터베이스에서 입력 데이터가 목표 유형과 일치하게 됩니다.
- 보다 엄격한 보안
- 사용자에게 데이터베이스 오브젝트에서의 특권을 부여하지 않고 DB2 패키지에서의 EXECUTE 특권을
부여할 수 있습니다.
- 쉬운 패키지 수정
- DB2 패키지를 버전화하여
이전의 좋은 액세스 경로를 유실하지 않고 패키지를 리바인드할 수 있습니다.
pureQuery는 DB2 데이터베이스에서
SQL문을 정적으로 실행하기 위한 세 가지 방법을 제공합니다.