반응형
I. 동적SQL의 개요
가. 동적SQL의 정의
- 실행 중 상황에 대응하기 위해 런타임 시점에 사용자로부터 SQL문의 일부 또는 전부를 입력 받아 실행되는 SQL
나. 동적SQL의 목적
- 일반 대화식 온라인 응용을 실행 시간에 구성할 수 있는 삽입 SQL들로 구성
- 온라인 응용 프로그램에 필요
II. 동적SQL의 문제점 및 해결방안
가. 동적SQL의 문제점
분류 |
문제점 |
설명 |
비기능 측면 |
SQL Injection 보안취약 |
- 실행 시점 의도치 않은 변수 삽입 내포 |
성능이슈 |
- 어플리케이션 커서 캐싱 기능 비작동 가능 |
|
PreCompile 검증부재 |
- 실행 시점에서 SQL 구문 분석 등 처리로 정적 대비 안정성 낮음 |
|
개발기능 측면 |
개발 난이도 |
- 실행시점 분기에 따른 유연한 개발능력 필요 |
개발공수 증가 |
- 단순 SQL 개발 + 변수 대입 반영 필요 |
|
비관적 로직 |
- 정적 대비 바인드 변수 사용에 따른 쿼리 이해 난이도 높음 |
나. 동적SQL의 해결방안
분류 |
해결방안 |
설명 |
비기능 측면 |
입력 값 검증 |
- 특정 바인딩 변수 입력 제한 및 필터링 처리 반영 |
H/W 성능확장 및 튜닝 |
- 사용 자원에 따른 H/W 처리능력 보완 |
|
문맥검증/인스펙션 등 지원도구 |
- 동적 SQL 쿼리 검증 툴 활용 |
|
개발기능 측면 |
표준화 및 F/W 활용 |
- 빠른 개발 지원 및 기본 준수에 따른 개발 |
표준에 따른 SQL 주석 |
- SQL 및 바인딩 변수 주석 표기로 소수 이해성 향상, 필요시 로그정보 추가 |
반응형
'IT기술노트 > 데이터베이스' 카테고리의 다른 글
데이터베이스 보안 (0) | 2021.03.07 |
---|---|
CBO, RBO (0) | 2021.03.07 |
옵티마이저(Optimizer) (0) | 2021.03.07 |
Statement와 Prepared Statement (0) | 2021.03.07 |
Stored Procedure (0) | 2021.03.07 |
SQL(Structured Query Language) (0) | 2021.03.07 |
반정규화(Denormalization) (0) | 2021.03.07 |
정규화(Normalization) (0) | 2021.03.07 |
댓글