본문 바로가기

IT

프로시저의 장단점

사내 SP를 수정하다 문득 생각이 들었다. 왜 SP로 솔루션을 만들었을까?

장점
- DB 보안 향상
자체 보안 설정 기능을 통해 단위 실행 권한을 부여할 수 있음. 읽기, 수정, 특정 컬럼에 대한 권한 설정 등 세밀한 권한 제어 가능

- 기능 추상화
어떤 어플리케이션을 사용하더라도 SP를 이용한다면, 값 추출하는데 용의

- 네트워크 소요 시간 절감
만약 동일한 쿼리를 100, 200번씩 호출한다면, 서버에서 100, 200번 호출하는 것 보다, DB단에서 100, 200번 호출해서 결과물을 출력하면 소요 시간을 줄일 수 있다.

- 절차적 기능 구현
SQL 쿼리는 절차적 기능 제공하지 않지만, SP는 IF, While과 같은 제어문 허용

- 개발 업무 구분
App 개발자와 DB개발 조직을 구분 지을 수 있음. -> 단점이 될 수 있음 SP를 수정하려면 DB인력 필요하기 때문
디버깅이나, 성능관리가 어려움

단점
- 낮은 처리 성능
문자, 숫자열 연산에 SP를 사용하면 오히려 c, java보다 느린 성능을 보일 수 있음

- 유지 보수 어려움
설치, 배포, 버전 관리등이 어려움
-> 반대로 서버 재기동이 필요 없고 SP만 수정하면 관리되는 측면은 장점이 됨
-> SP가 App에 어디 사용되는 지 확인이 어려움, SP수정했는데 다른 프로그램이 안될 수도 있음

출저:
https://12bme.tistory.com/54

 

[MySQL] 프로시저(스토어드 프로그램)의 장단점

1. 스토어드 프로그램이란? MySQL에서는 절차적인 처리를 위해 스토어드 프로그램을 이용할 수 있습니다. 스토어드 프로그램은 스토어드 루틴이라고도 하는데, 스토어드 프로시저와 스토어드 함수 그리고 트리거와..

12bme.tistory.com

https://hyunki1019.tistory.com/86

 

[MySQL] Stored Procedure 장단점

Stored Procedure ....SP라고도 무르는 것 같은데...... Anyway...장단점에 대해서 정리해 본다. Stored Procedure 는 Oracle DBA로 재직하면서 끊임없이 나와 마주했던 친구다. 내가 처음부터 끝까지 다 작성한..

hyunki1019.tistory.com

https://okky.kr/article/357441

 

OKKY | 왜 프로시져로 개발하죠?

옛날 만들어진 시스템 고도화시키고있는데 프로시져로 개발한이유가 궁금하네요... 현재 스프링과 마이바티스로 바꾸고있는데 문뜩생각이들어서요.

okky.kr