본문 바로가기
IT기술노트/데이터베이스

동적SQL

by 비트코기 2021. 3. 7.
반응형

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

댓글