Computer Science/Database

[DB] 프로시저(Procedure)란 ?

킹우현 2024. 2. 8. 14:01

1. 저장 프로시저(Stored Procedure)란 ?

DB 내부에 저장된 일련의 SQL 명령문들을 하나의 함수처럼 실행하기 위한 쿼리의 집합

 

즉, DB에 대한 작업을 정리한 절차를 RDBMS(관계형 데이터 베이스 관리 시스템)에 저장한 쿼리의 집합이다. 영구저장모듈이라고도 불린다.

  • SQL Server에서 제공되는 프로그래밍 기능. 쿼리문의 집합
  • 어떠한 동작을 일괄 처리하기 위한 용도로 사용
  • 자주 사용되는 일반적인 쿼리를 모듈화시켜서 필요할 때마다 호출
  • 테이블처럼 각 데이터베이스 내부에 저장

여러 개의 칼럼을 조회하고, 여러 개의 테이블을 조인하고, 조건문까지 넣어주면 하나의 쿼리를 만드는데 엄청나게 긴 쿼리문이 생기게 되는데 이러한 여러 개의 쿼리를 사용할 때마다 긴 쿼리문을 작성한다면 매우 불편할 것이다. 

 

따라서 이를 프로시저에 저장하고 저장된 프로시저를 호출하여 프로그래밍을 하는 것이 훨씬 효율적이다.

 

2. 저장 프로시저의 장단점

2-1. 장점

  1. SQL Server의 성능을 향상시킬 수 있다. (저장 프로시저에서 2번째 실행부터는 캐시에 있는 것을 가져와서 사용하므로 속도가 빠르며 여러 개의 쿼리를 한번에 실행할 수 있다.)
  2. 유지보수 및 재사용성을 높일 수 있다.
  3. 보안성을 강화할 수 있다. (사용자별로 테이블에 권한을 주는게 아닌 저장 프로시저에만 접근 권한을 줌으로써 테이블의 모든 정보를 사용자에게 노출하지 않고프로시저에서 선택한 정보만 사용자에게 보여줄 수 있다.)
  4. 네트워크의 부하(전송량)를 줄일 수 있다.

2-2. 단점

  1. DB의 확장이 어렵다.
  2. 데이터 분석이 어렵다.
  3. 처리의 성능이 오히려 낮아질 수 있다.

 

참고 출처 : 

 

velog

 

velog.io

 

 

 

[DB] Procedure 프로시저 개요 및 장단점

저장 프로시저 (Stored Procedure) 프로시저란 SQL Server에서 제공하는 프로그래밍 기능입니다. 쿼리문을 마치 하나의 메서드 형식으로 만들고 어떠한 동작을 일괄적으로 처리하는 용도로 사용됩니다.

runcoding.tistory.com