찌니의 프로그래밍 삼매경

[SQL] 프로시저의 장단점 본문

SQL/SQL공부

[SQL] 프로시저의 장단점

zzI니☆ 2022. 10. 13. 09:41
728x90
 
저장 프로시저 (Stored Procedure) 

프로시저는 SQL Server에서 제공되는 프로그래밍 기능이며, 쿼리 문의 집합체라고 볼 수 있다.

간단하게로는 SELECT, INSERT, UPDATE, DELETE 등의 DQL, DML을 사용할 수 있으며,

조금 더 나아가서 IF 문이나 DECLARE, SET 등의 프로그래밍 문법을 사용할 수도 있다.

 

 

장점

  • 보안성 향상
    • 프로시저 단위로 실행 권한을 부여할 수 있기 때문에, 기본적인 보안 사고에 대처가 유연한 편이다.
  • 네트워크 소요 시간 절감
    • 쿼리를 다중으로 실행하는 경우, 한번의 호출을 통해 다중의 쿼리가 실행되기 때문에 네트워크에 대한 부담과 소요 시간을 줄일 수 있다.
  • 운영 배포 용이성
    • 별도의 WAS 서버 재기동 없이 SP 수정으로 조회, 수정, 추가 등의 가벼운 소스 변경 등이 가능하여, 긴급 배포 등이 용이하다.

 단점

  • 낮은 처리 성능
    • 프로시저의 경우 성능이나 최적화가 부족하여 수행 능력이 떨어지며, 특히 문자열이나 숫자 연산에 사용하면 JAVA, C 등에 비해서 효율이 좋지 않다.
  • 디버깅 및 유지보수의 어려움
    • 배포, 버전 관리 등에 대한 이력 관리가 힘들다. (별도의 Description 사용)
    • SP가 수정되는 경우 현재 운영 중인 서비스에 영향도 분석이 어렵다.
    • APP에서 SP를 호출하여 사용하는 경우 문제가 생겨도 해당 이슈에 대한 추적이 힘들다. (별도의 에러 테이블 사용)
728x90
Comments