절차형 SQL
¹ 절차형 SQL의 개요
- 연속적인 실행이나 분기, 반복 등의 제어가 가능한 SQL
- 일반적인 프로그래밍 언어에 비해 효율은 떨어지지만 단일 SQL 문장으로 처리하기 어려운 연속적인 작업들을 처리하는데 적합
- 다양한 기능을 수행하는 저장 모듈을 생성할 수 있음
- DBMS 엔진에서 직접 실행되기 때문에 입출력 패킷이 적은 편
- 블록 구조로 되어 있기 때문에 기능별 모듈화 가능
프로시저
특정 기능을 수행하는 일종의 트랜잭션 언어, 호출을 통해 실행되어 미리 저장해놓은 SQL작업 수행
트리거
데이터의 입력, 갱신, 삭제 등 이벤트가 발생할 때마다 관련 작업이 자동으로 수행됨
사용자 정의 함수
프로시저와 유사하게 SQL을 사용하여 일련의 작업을 연속적으로 처리하며, 종료 시 예약어 Return을 사용하여 처리 결과를 단일값으로 반환
² 절차형 SQL의 테스트와 디버깅
- 테스트를 통해 오류 발견
- 디버깅을 통해 오류가 발생한 소스 코드 추적, 수정
- 절차형 SQL은 테스트 전에 생성을 통해 구문 오류나 참조 오류의 존재 여부를 확인
- 오류 및 경고 메시지가 상세히 출력되지 않으므로 SHOW 명령어를 통해 내용 확인
- 디버깅: 삽입, 변경문은 주석 처리 후 출력문으로 확인
³ 쿼리 성능 최적화
- 성능 측정 도구인 APM을 사용하여 최적화 할 쿼리를 선정해야함
- 최적화 할 쿼리에 대해 옵티마이저가 수립한 실행 계획을 검토하고 SQL 코드와 인덱스를 재구성