ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [SQL] Function vs Procedure
    프로그램/SQL 2024. 5. 28. 13:16

    | Function과 Procedure의 사용 이유

     

     

    Function과 Procedure의 공통점과 차이점을 보기 전에 SQL 구문을 사용하지 않고 왜 두 기능으로 만들어서 사용하는가?에 대한 답변이 우선이라고 생각합니다.

     

    Q. Function과 Procedure는 왜 사용하는가?

     

    A-1. 자주 사용하는 쿼리를 매번 작성하기 힘들기 때문입니다. 즉 재사용성을 높이기 위해서 Funtion과 Procedure를 생성합니다.

     

    A-2. 또한 Function과 Procedure는 생성 시, 딕셔너리에 저장되어 사용자가 삭제하기 전까지 영구적으로 저장됩니다. 이렇게 생성된 Function과 Procedure는 호출 시 최초 1회에만 Hard parching해 Library cache에 저장되어, 이후 호출 시 Soft parching을 진행해 CPU 사용량을 줄입니다.

     


     

     

    | Function과 Procedure의 차이점

     

    그렇다면 두 기능의 차이점을 표로 살펴보도록 하겠습니다.

     

     

      Procedure Function
    목적 특정 작업을 수행 특정 계산을 수행
    반환값 없거나 1개 이상의 값 반환 반드시 1개
    SELECT, WHERE절에서 사용 여부 불가능 가능
    처리 장소, 속도 서버, 빠름 클라이언트, 느림

     

     

    즉, 두 기능 모두 Library cache에 저장되어 SQL문으로 동작하는 것보다 Hard parching을 줄여서 CPU의 부담을 줄일 수 있으며, 특정 값을 추출하고 싶은 경우에는 Function, 특정 작업을 수행하고 싶은 경우에는 Procedure을 사용한다.

    '프로그램 > SQL' 카테고리의 다른 글

    [SQL] Oracle Process란?(+Instance)  (0) 2024.07.31
    [SQL] Process와 I/O가 SQL 속도에 미치는 영향  (0) 2024.06.18
    [SQL] SGA란?  (0) 2024.06.11
    [SQL] 데이터베이스 저장 구조  (0) 2024.05.28
    [MySQL] SELECT 1000행 제한 해제  (0) 2024.03.11
Designed by Tistory.