저장 프로시저

zh025700·2022년 12월 22일

데이터베이스

목록 보기
15/15

데이터베이스

Stored Procedure

개요

  • SQL문의 집합
    • 쿼리문의 집합
  • 반복되는 작업을 효과적으로 실행할 수 있게한다.
    • 어떤 동작을 일괄 처리하기 위한 용도로 사용된다.
    • 편하게 운영할 수 있게 도와준다.
  • 2가지 형태
    • 시스템
    • 사용자 정의
  • 입력 변수를 받고 값을 리턴
    • 함수라 보면 됨
  • 성공 실패 값을 리턴

초기 프로세싱

생성

  • 파싱

    • sysobject에 이름을 저장
    • syscomments에 텍스트 저장

실행(처음 또는 재 컴파일시)

  • 최적화
  • Compilation
    • 프로시저 캐쉬안에 실행 계획을 둔다

다음 프로세싱

캐시로부터 실행 계획이 검색됨
사용안되는 계획은 제거됨

저장 프로시저의 장점

  • 어플리케이션 로직 공유
    • 일관성 보장
  • 데이터베이스 스키마의 자세한 사항이 노출되지 않도록 보호
    • 직접 테이블에 접근할 필요가 없기 때문
  • 보안 메커니즘 제공
    • 프로시저에 권한을 주고 테이블에 권한을 주지 않는 방식으로
  • 성능 향상
  • 네트웤 트래픽 감소
    • 다수의 SQL문장 실행 대신 단일 프로시저를 이용해

용법

DELIMITER $$
END $$ DELIMITER ;
  • 저장 프로시저를 묶어준다.
  • create procedure 안에서도 ;가 종료문자임으로 헷갈리지 않게 위해서이다.
    • 그래서 DELIMITER로 ;를 $$로 바꿈
      • end가 끝나고나선 DELIMITER를 다시 ;로 바꿈
profile
정리

0개의 댓글