-
[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