💡 함수와 프로시저의 차이
프로시저 또한 매개변수를 받아 여러 작업을 수행하여 값을 반환할 수 있고,
함수 또한 매개변수를 받아 여러 작업을 수행하여 값을 반환할 수 있다.
하지만 함수와 프로시저가 똑같은 것은 아니다.
📌의미
프로시저
- 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합이며,
일련의 작업을 정리한 절차
- 보통 단독으로 실행해야 할 작업을 위임받았을 때 사용
함수
- 하나의 특별한 목적의 작업을 수행하기 위해 독립적으로 설계된 코드의 집합
즉, 함수가 여러 작업을 위한 기능이라면 프로시저는 작업을 정리한 절차
보통 로직을 도와주는 역할이며, 간단한 계산, 수치 등을 나타낼 때 사용
📌매개변수
프로시저
- 매개변수를 입력,출력,입출력 형식으로 받을 수 있음
함수
📌반환값
프로시저
- 반환값을 가질 수도 있고 가지지 않을 수도 있음
함수
📌쿼리문 내에서 실행가능
프로시저
- SELECT, WHERE 문 등에서 사용 불가
함수
📌 처리 장소
프로시저
- 클라이언트(화면)에서 값을 건네받아 서버에서 작업을 한 뒤 클라이언트에게 전달
즉, 서버에서 실행이 되어 속도면에서 빠른 성능을 보여줌
함수
- 클라이언트(화면)에서 값을 건네 받고 서버에서 필요한 값을 가져와서 클라이언트에서 작업을 하고 반환
즉, 클라이언트(화면)에서 실행이 되어 프로시저보단 속도가 느림