반응형
절차형 SQL
C, JAVA 등의 프로그래밍 언어와 같이 연속적인 실행이나 분기, 반복 등의 제어가 가능한 SQL
- 일반적인 프로그래밍 언어에 비해 효율이 떨어진다.
- 연속적인 작업들을 처리하는데 적합하다.
- BEGIN ~ END 형식으로 작성되는 Block 구조로 기능별 모듈화 가능
종류 |
|
프로시저 (Procedure) |
호출을 통해 실행되어 미리 저장해놓은 SQL 작업 수행, 처리 결과는 한 개 이상의 값 또는 반환을 아예 하지 않음 |
트리거 (Trigger) |
입력, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업을 자동 수행 |
사용자 정의 함수 | 프로시저와 유사하게 SQL을 사용해 일련의 작업을 연속적으로 처리 (종료 시 RETURN 예약어를 사용해 처리 결과를 단일값으로 변환) |
테스트와 디버깅
- 테스트 전 구문 오류 (Syntax Error)나 참조 오류의 존재 여부 확인
- 오류 및 경고 메시지가 상세히 출력되지 않으므로 SHOW 명령어를 통해 내용 확인
- 실제로 데이터베이스에 변화를 줄 수 있는 삽입 및 변경 관련 SQL문을 주석으로 처리하고 디버깅 수행
디버그(Debug)는 프로그래밍 과정중에 발생하는 오류나 비정상적인 연산,
즉 버그를 찾고 수정하는 것이다. 이 과정을 디버깅(Debugging)이라 하기도 한다.
SyntaxError 객체는 개발 툴에서 주로 빨간 밑줄이 뜨면서 자동으로 잡아주는 종류의 에러,
문법적으로 유효하지 않은 코드를 해석하려고 시도할 때 발생하는 오류를 의미한다.
쿼리 성능 최적화
데이터 입·출력 애플리케이션의 성능 향상을 위해 SQL 코드를 최적화 하는 것
성능 측정 도구 APM(Application Performance Manager/Monitoring)을 사용해 최적화할 쿼리를 선정
최적화할 쿼리에 대해 옵티마이저(Optimizer)*가 수립한 실행 계획을 검토하고 SQL 코드와 인덱스 재구성
옵티마이저(Optimizer) : 가장 효율적인 방법으로 SQL을 수행할 최적의 처리 경로를 생성해주는 DBMS 핵심 엔진
반응형
'자격증 > 정보처리기사' 카테고리의 다른 글
정보처리기사 2과목 소프트웨어 개발 (소프트웨어 패키징 고려사항과 작업 순서) (0) | 2023.05.05 |
---|---|
정보처리기사 2과목 소프트웨어 개발 (개발지원 도구와 빌드 자동화 도구) (0) | 2023.05.05 |
정보처리기사 2과목 소프트웨어 개발 (선형 구조(Linear Structure) / 비선형 구조 (Non-Linear Structure)) (0) | 2023.05.04 |
정보처리기사 1과목 소프트웨어 설계 (미들웨어 솔루션) (0) | 2023.05.04 |
정보처리기사 1과목 소프트웨어 설계 (인터페이스 요구사항 검증 / 처리유형과 통신유형) (0) | 2023.05.04 |