1. 저장 프로시저(Stored Procedure)란 ?
DB 내부에 저장된 일련의 SQL 명령문들을 하나의 함수처럼 실행하기 위한 쿼리의 집합
즉, DB에 대한 작업을 정리한 절차를 RDBMS(관계형 데이터 베이스 관리 시스템)에 저장한 쿼리의 집합이다. 영구저장모듈이라고도 불린다.
- SQL Server에서 제공되는 프로그래밍 기능. 쿼리문의 집합
- 어떠한 동작을 일괄 처리하기 위한 용도로 사용
- 자주 사용되는 일반적인 쿼리를 모듈화시켜서 필요할 때마다 호출
- 테이블처럼 각 데이터베이스 내부에 저장
여러 개의 칼럼을 조회하고, 여러 개의 테이블을 조인하고, 조건문까지 넣어주면 하나의 쿼리를 만드는데 엄청나게 긴 쿼리문이 생기게 되는데 이러한 여러 개의 쿼리를 사용할 때마다 긴 쿼리문을 작성한다면 매우 불편할 것이다.
따라서 이를 프로시저에 저장하고 저장된 프로시저를 호출하여 프로그래밍을 하는 것이 훨씬 효율적이다. ⭐
2. 저장 프로시저의 장단점
2-1. 장점
- SQL Server의 성능을 향상시킬 수 있다. (저장 프로시저에서 2번째 실행부터는 캐시에 있는 것을 가져와서 사용하므로 속도가 빠르며 여러 개의 쿼리를 한번에 실행할 수 있다.)
- 유지보수 및 재사용성을 높일 수 있다.
- 보안성을 강화할 수 있다. (사용자별로 테이블에 권한을 주는게 아닌 저장 프로시저에만 접근 권한을 줌으로써 테이블의 모든 정보를 사용자에게 노출하지 않고프로시저에서 선택한 정보만 사용자에게 보여줄 수 있다.)
- 네트워크의 부하(전송량)를 줄일 수 있다.
2-2. 단점
- DB의 확장이 어렵다.
- 데이터 분석이 어렵다.
- 처리의 성능이 오히려 낮아질 수 있다.
참고 출처 :
'Computer Science 📖 > Database' 카테고리의 다른 글
[Database] 뷰(VIEW)란 ? (0) | 2024.01.02 |
---|---|
[Database] Lock 이란 ? (1) | 2023.11.25 |
[Database] 면접 예상 질문 및 답변 (1) | 2023.11.25 |
[면접을 위한 CS 노트] 4-6 조인(JOIN) (0) | 2023.11.25 |
[면접을 위한 CS 노트] 4-5 인덱스 (1) | 2023.11.25 |