일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Leetcode
- 스프링부트 채팅서버
- LeetCode SQL
- Spring
- spring boot
- 오라클
- js
- 자바스크립트
- javascript
- 파이게임
- 스프링
- SQL 문제풀이
- MSA
- 자바 스트림
- kotlin 클래스
- springboot
- oauth2
- 스프링시큐리티
- 프로그래머스
- java8
- mysql
- pygame
- oracle
- 구글로그인
- 코틀린 클래스
- SQL
- 스프링부트
- python
- SQL프로그래머스
- 자바8
Archives
- Today
- Total
웅겹살의 프로그래밍 삼매경
[SQL] 프로시저의 장단점 본문
728x90
저장 프로시저 (Stored Procedure)
프로시저는 SQL Server에서 제공되는 프로그래밍 기능이며, 쿼리 문의 집합체라고 볼 수 있다.
간단하게로는 SELECT, INSERT, UPDATE, DELETE 등의 DQL, DML을 사용할 수 있으며,
조금 더 나아가서 IF 문이나 DECLARE, SET 등의 프로그래밍 문법을 사용할 수도 있다.
⚡ 장점
- 보안성 향상
- 프로시저 단위로 실행 권한을 부여할 수 있기 때문에, 기본적인 보안 사고에 대처가 유연한 편이다.
- 네트워크 소요 시간 절감
- 쿼리를 다중으로 실행하는 경우, 한번의 호출을 통해 다중의 쿼리가 실행되기 때문에 네트워크에 대한 부담과 소요 시간을 줄일 수 있다.
- 운영 배포 용이성
- 별도의 WAS 서버 재기동 없이 SP 수정으로 조회, 수정, 추가 등의 가벼운 소스 변경 등이 가능하여, 긴급 배포 등이 용이하다.
⚡ 단점
- 낮은 처리 성능
- 프로시저의 경우 성능이나 최적화가 부족하여 수행 능력이 떨어지며, 특히 문자열이나 숫자 연산에 사용하면 JAVA, C 등에 비해서 효율이 좋지 않다.
- 디버깅 및 유지보수의 어려움
- 배포, 버전 관리 등에 대한 이력 관리가 힘들다. (별도의 Description 사용)
- SP가 수정되는 경우 현재 운영 중인 서비스에 영향도 분석이 어렵다.
- APP에서 SP를 호출하여 사용하는 경우 문제가 생겨도 해당 이슈에 대한 추적이 힘들다. (별도의 에러 테이블 사용)
728x90
'SQL > SQL공부' 카테고리의 다른 글
[SQL] 오라클 힌트 오라클 hint (sql 튜닝) (0) | 2022.10.11 |
---|---|
[SQL] postgreSQL 기본문법 정리 (0) | 2022.04.01 |
[SQL] postgreSQL ARRAY 배열함수 unnest, array_agg, array_to_string (1) | 2022.03.26 |
[SQL] Oracle CONCAT, || (문자열 합치기) (0) | 2021.06.11 |
[SQL] Oracle TO_CHAR (0) | 2021.06.10 |
Comments