Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

정적 SQL과 동적 SQL의 차이점

<시간/>

정적 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은 매우 유연합니다.