정적 SQL
정적 SQL은 고정되고 애플리케이션에 하드 코딩될 수 있는 SQL 문을 나타냅니다. 정적 SQL은 고정 쿼리이므로 이러한 명령문을 분석하고 최적화할 수 있으며 보안을 위해 특별한 처리가 필요하지 않습니다.
동적 SQL
동적 SQL은 사용자의 입력에 따라 동적으로 생성되어 응용 프로그램에서 실행되는 SQL 문을 말합니다. Dynamic Sqls는 일반적이고 유연한 응용 프로그램을 개발하는 데 도움이 됩니다. 동적 SQL에는 더 많은 권한과 보안 처리가 필요할 수 있으며 악의적인 사용자도 위험한 코드를 만들 수 있습니다.
다음은 정적 라우팅과 동적 라우팅의 몇 가지 중요한 차이점입니다.
Sr. 아니요. | 키 | 정적 SQL | 동적 SQL |
---|---|---|---|
1 | 데이터베이스 액세스 | Static SQL에서 데이터베이스 접근 절차는 문장에서 미리 정해진다. | 동적 SQL에서 데이터베이스에 액세스하는 방법은 런타임에만 결정할 수 있습니다. |
2 | 효율 | 정적 SQL 문은 더 빠르고 효율적입니다. | 동적 SQL 문은 덜 효율적입니다. |
3 | 편집 | 정적 SQL 문은 컴파일 시간에 컴파일됩니다. | 동적 SQL 문은 런타임에 컴파일됩니다. |
4 | 신청 계획 | 응용 프로그램 분석, 검증, 최적화 및 생성은 컴파일 시간 활동입니다. | 애플리케이션 계획 파싱, 검증, 최적화 및 생성은 런타임 활동입니다. |
5 | 사용 사례 | 데이터가 균일하게 분산된 경우 정적 SQL을 사용합니다. | 데이터가 불균일하게 분산된 경우 동적 SQL을 사용합니다. |
6 | 동적 문 | EXECUTE IMMEDIATE, EXECUTE, PREPARE와 같은 명령문은 사용되지 않습니다. | EXECUTE IMMEDIATE, EXECUTE, PREPARE와 같은 명령문이 사용됩니다. |
7 | 유연성 | 정적 SQL은 유연성이 떨어집니다. | 동적 SQL은 매우 유연합니다. |