728x90
[IT용어] SP(Stored Procedure, 저장 프로시저)
💾 SP(Stored Procedure)란?
SQL Server 구문을 미리 서버에 두고, 실행을 어떻게 할 지도 미리 넣어 두어서,
관리적인 부분 뿐 아니라 성능적인 부분까지 고려한 SQL Server의 개체(Object)입니다.
- 입력 매개 변수를 받아 여러 값을 출력 매개 변수의 형태로 호출하는 프로그램에 반환합니다.
- 데이터베이스에서 작업을 수행하는 프로그래밍 문을 포함합니다. 여기에는 호출하는 다른 프로시저가 포함됩니다.
- 호출하는 프로그램에 상태 값을 반환하여 성공 또는 실패 및 실패 원인을 나타냅니다.
💾 SP 사용이점
1. 서버/클라이언트 네트워크 트래픽 감소
프로시저 명령은 단일 일괄 처리 코드로 실행됨
▶ 실행할 호출만 네트워크에서 전송되기 때문에, 서버와 클라이언트 간의 네트워크 트래픽이 크게 줄어듦.
( 모든 개별 코드 줄이 네트워크교차하지 않기 때문!! )
2. 보안 강화
개별 개체 수준에서 사용 권한을 부여할 필요가 없으며 보안 계층이 간소화 됨.
▶ 직접적인 사용권한이 없는 경우에도 기본 데이터베이스 개체에 대해 작업 수행 가능함
3. 코드 재사용
프리시저에서 코드를 캡슐화하여서 같은 코드를 다시 작성할 필요가 없음
▶ 코드 불일치 감소와 필요한 권한을 가진 사용자/애플리케이션에서 코드에 액세스하여 코드를 실행가능함.
4. 보다 간편한 유지 관리
본 데이터베이스의 모든 변경 내용에 대해 프로시저만 업데이트하면 됨
5. 성능 향상
처음 실행될 때 컴파일되며 이후 실행에 다시 사용되는 실행 계획을 생성함.
▶ 새 계획을 만들 필요가 없으므로, 일반적으로 프로시저 처리 시간이 줄어듦
💾 SP 유형
1. 사용자 정의
2. 임시 프로시저 - 두가지 유형 존재함
1) 로컬임시 프로시저
: 이름이 하나 숫자기호(#)로 시작, 현재 사용자 연결에만 표시, 연결이 닫히면 삭제
2) 전역 임시 프로시저
: 이름이 두 개 숫자기호(##)로 시작, 생성된 후 모든 사용자에게 표시, 해당 프로시저를 사용하는 마지막 세션이 끝나면 삭제
3. 시스템 프로시저
물리적으로 Resource 데이터베이스에 저장되지만, 논리적으로는 모든 시스템 정의 데이터베이스와 사용자 정의 데이터베이스의 sys 스키마에 표시됩니다. 또한 msdb 데이터베이스에도 dbo 스키마에 경고 및 작업을 예약하는 데 사용되는 시스템 저장 프로시저가 있습니다.
4. 확장 사용자 정의
C와 같은 프로그래밍 언어로 외부 루틴을 작성가능.
참고:
* https://devkingdom.tistory.com/323
저장 프로시저(데이터베이스 엔진) - SQL Server
SQL Server의 저장 프로시저는 하나 이상의 Transact-SQL 문 그룹이거나 .NET Framework 공용 런타임 언어 메서드에 대한 참조라는 사실을 알아봅니다.
docs.microsoft.com
728x90
'🤓 Health care Study > - 디지털헬스케어' 카테고리의 다른 글
[IT지식] IRS(Information Retrieval System, 정보검색시스템)이란? (0) | 2022.07.12 |
---|---|
[IT지식] unimodality, multimodality 관련한 자료 모아보기 (0) | 2022.07.04 |
[IT지식] FlowNet 관련 자료 모아보기 (0) | 2022.07.04 |
[IT지식] 데이터분석 인과추론(causal inference) 관련 자료 모아보기 (0) | 2022.07.04 |
[IT지식] 데이터 분석 DAG(Directed Acyclic Graphs, 방향성 비순환 그래프) 관련 자료 모아보기 (0) | 2022.07.04 |