사내 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
https://hyunki1019.tistory.com/86
https://okky.kr/article/357441
'IT' 카테고리의 다른 글
(펌)NetworkCisco 스위치 IP 기반으로 Port 찾기 (0) | 2020.10.23 |
---|---|
[펌] 개발자, 시작하는 것이 고민될 때... (0) | 2019.06.21 |
[번역] 웹 아키텍쳐 입문 (0) | 2019.03.14 |
apach tomcat, IIS, Thread(Polling, Event), Async (0) | 2017.05.13 |
Visual Studio 와 github.com을 이용한 Branch 별 프로젝트 관리 방법 (0) | 2017.04.04 |