절차형 SQL

clay·2023년 2월 5일
0

소프트웨어 개발

목록 보기
7/47
post-thumbnail

절차형 SQL의 개요

절차형 SQL은 C, JAVA 등의 프로그래밍 언어와 같이 연속적인 실행이나 분기, 반복 등의 제어가 가능한 SQL을 의미한다.

  • 절차형 SQL은 일반적인 프로그래밍 언어에 비해 효율은 떨어지지만 단일 SQL 문장으로 처리하기 어려운 연속적인 작업들을 처리하는데 적합하다.
  • 절차형 SQL을 활용하여 다양한 기능을 수행하는 저장 모듈을 생성할 수 있다.
  • 절차형 SQL은 DBMS 엔진에서 직접 실행되기 때문에 입∙출력 패킷이 적은 편이다.
  • BEGIN ~ END 형식으로 작성되는 블록(Block) 구조로 되어 있기 때문에 기능별 모듈화가 가능하다.
  • 절차형 SQL의 종류에는 프로시저, 트리거, 사용자 정의 함수가 있다.

프로시저(Procedure)
특정 기능을 수행하는 일종의 트랜잭션 언어로, 호출을 통해 실행되어 미리 저장해 놓은 SQL 작업을 수행한다.

트리거(Trigger)
데이터베이스 시스템에서 데이터의 입력, 갱신, 삭제 등의 이벤트가 발생할 때마다 관련 작업이 자동으로 수행된다.

사용자 정의 함수
프로시저와 유사하게 SQL을 사용하여 일련의 작업을 연속적으로 처리하며, 종료 시 예약어 Return을 사용하여 처리 결과를 단일값으로 반환한다.

절차형 SQL의 테스트와 디버깅

절차형 SQL은 디버깅을 통해 기능의 적합성 여부를 검증하고, 실행을 통해 결과를 확인하는 테스트 과정을 수행한다.

  • 절차형 SQL은 테스트 전에 생성을 통해 구문 오류(Syntax Error)나 참조 오류의 존재 여부를 확인한다.
  • 많은 코드로 구성된 절차형 SQL의 특성상 오류 및 경고 메시지가 상세히 출력되지 않으므로 SHOW 명령어를 통해 내용을 확인하고 문제를 수정한다.
  • 정상적으로 생성된 절차형 SQL은 디버깅을 통해 로직을 검증하고, 결과를 통해 최종적으로 확인한다.
  • 절차형 SQL의 디버깅은 실제로 데이터베이스에 변화를 줄 수 있는 삽입 및 변경관련 SQL문을 주석으로 처리하고, 출력문을 이용하여 화면에 출력하여 확인한다.

쿼리 성능 최적화

쿼리 성능 최적화는 데이터 입∙출력 애플리케이션의 성능 향상을 위해 SQL코드를 최적화하는 것이다.

  • 쿼리 성능을 최적화하기 전에 성능 측정 도구인 APM을 사용하여 최적화 할 쿼리를 선정해야 한다.
  • 최적화 할 쿼리에 대해 옵티마이저가 수립한 실행 계획을 검토하고 SQL 코드와 인덱스를 재구성한다.
APM
애플리케이션의 성능 관리를 위해 접속자, 자원 현황, 트랜잭션 수행 내역, 쟁애 진단 등 
다양한 모니터링 기능을 제공하는 도구

옵티마이저(Optimizer)
DBMS에 내장되어 작성된 SQL이 효율적으로 수행되도록 최적의 경로를 찾아주는 모듈
profile
샤코타임 팬

0개의 댓글