절차형 SQL
DB 에 대한 일련의 작업을 정리한 절차를 관계형 데이터베이스 관리 시스템에 저장한 것이다.
넓은 의미로 어떠한 업무를 수행하기 위한 절차를 뜻한다.
프로시저는 프로시저명을 호출해서 실행된다.
쿼리문을 하나의 메서드 형식으로 만들고 어떤 동작을 일괄적으로 처리하는 용도로 쓰인다.
→ 여러 개의 쿼리를 한 번에 수행한다.
만약 여러 개의 칼럼을 조회하거나, 여러 개의 테이블을 조회하려고 할 때, 이것을 하나의 쿼리문으로 만들려면 복잡하고 긴 쿼리문이 생성한다. 이렇게 여러 개의 쿼리를 사용할 때 일일이 긴 쿼리문을 사용하게 된다면 불편하기에 이를 프로시저에 저장하여 호출한다.
하나의 요청으로 여러 SQL문을 실행시킬 수 있기 때문에 네트워크 부하를 줄일 수 있다.
컴퓨터 작업중에서 제일 많은 메모리가 소요되는 작업이 IO과정이다 → 모든 정보가 메모리에 직접적으로 저장된다는 것은 메모리의 자원을 인풋, 아웃풋 자원을 많이 사용한다는 의미다.
API처럼 여러 애플리케이션과 공유가 가능하다(주문서 → 요청하면 그에 대한 결과가 나온다.)
하나의 거대한 프로그램에서 API 사용해서 다른 어플리케이션과 공유가 가능하다 → 지도, 메세지, 다른 프로그램에서도 같은 프로시저 사용 가능
특정한 기능을 변경 시 프로시저만 변경하면 되기에 기능 변경이 편리하다.(isolation → 다른 연산 결과에 영향을 받지 않아야 함)