최근에 자주 듣게 되는 프로시저에 대해 정리해보려고한다.
프로시저란?
데이터베이스에서 작업하는 일련의 과정을 정리한 절차를 관계형 데이터베이스 관리 시스템에 저장한 것이다.
영구저장모듈이라고도 하는데 Persistent Storage Module이라고 할 수 있다.
저장 프로시저라고도 부르며, 일련의 쿼리를 마치 하나의 함수처럼 실행하기 위한 쿼리의 집합이라고 할 수 있다.
일단 복잡하니까 쉽게 말해 우리에게 보다 친근한 함수와 비슷한 녀석이라고 생각해보자!
특정한 작업을 위한 쿼리들이 있다면 그런 쿼리들의 블록이라고 생각할 수 있다.
그렇다면 프로시저를 사용하는 장점은 무엇일까?
1. 하나의 요청으로 여러 SQL문을 실행시킬 수 있다.
(1000개가 넘는 SQL문을 실행하면 네트워크에 부하가 생길 수 있다고 가정하자 프로시저를 쓰면 부하가 줄어든다고 생각하면 된다.)
즉 네트워크의 성능을 개선하여 소요되는 처리시간을 줄일 수 있다.
2. 우리가 개발하면서 자주 사용하는 API처럼 여러 어플리케이션간에 공유가 가능하다.
3. 기능 변경이 아주 편리하다. 특정 기능을 변경하고자 할 때 프로시저만 변경하면 되는 간편함이 있다.
단점으로는 무엇이 있을까?
1. 문자나 숫자열 연산에 사용하면 오히려 Java, C보다 느린 성능을 보일 수 있다.
2. 유지보수가 어려울 수 있다. (프로시져가 앱의 어떤 부분에서 사용되었는지 확인하는 것이 어려울 수 있다.)
'BackEnd' 카테고리의 다른 글
PostgreSQL이란? (0) | 2023.01.30 |
---|---|
ACID란? (0) | 2023.01.30 |
MySQL CRUD 간단정리 (0) | 2023.01.24 |
자료형의 구조 무조건 이해하게 정리(기본자료형, 참조자료형)Reference (0) | 2023.01.20 |
JAVA random 출력 예제를 통한 복습 (0) | 2023.01.18 |