DB/mysql(mariaDB)

mysql stored procedure(저장 프로시저) 란?

자코린이 2022. 6. 6. 18:55

mysql에는 sp(stored procedure)이 있습니다.

이는 저장된 sql을 순차적으로 실행하는 프로그램으로 질의 형식만 가능한 sql에 절차적인 실행을 가능하게 해주는 방법입니다.

이는 oracle에선 pl/sql이라고 불리며 mysql은 sp라고 불립니다.(정확히는 다르지만 sql을 절차적으로 실행하게 해줍니다.)

 

많은 분들이 장점과 단점을 말씀하시고 극명히 나타나는 장점과 단점도 있습니다.

 

장점

-빠른 처리속도(더하기 등의 사칙연산은 제외)

 DB에서 직접 데이터를 처리하여 더 빠른 속도의 처리가 가능 합니다.

-높은 보안성

 각 sp간의 보안이 개별화 되어 있어 일차적인 해킹을 막습니다.(sql injection 등)

-높은 재활용성

 필요한 부분의 sp를 만들고 이를 호출하여 데이터만 받아오면 됩니다.

-DB와 백엔드를 확실히 구분 가능

 DB에서 데이터를 받아오는 부분과 처리하는 부분을 나눌 수 있습니다.

 

단점 

-연산이 느리다.

 숫자와 문자의 연산은 늦은 처리속도를 보입니다.

-DB확장이 힘들다.

DB의 구조가 바뀌면 sp 또한 바꾸어야 합니다.

-오류 잡기 매우 힘듬

기본적으로 sql은 문법에러가 아니면 에러가 잘 뜨지 않고, 데이터 확인이 힘듭니다.

이는 사용자의 역량에 영향을 많이 받는다는 이야기 입니다.

 

기본적으로 DB에서는 기본적인 데이터를 받아와 AWS에서 처리하는 것이 기본입니다.

하지만 sql의 성능을 완전히 뽑을 수 있고, 재활용 또한 편한 sp를 적절히 사용하는 것도 좋습니다.

 

'DB > mysql(mariaDB)' 카테고리의 다른 글

피벗(PIVOT) 테이블  (0) 2022.06.19
stored procedure(저장 프로시저) 만들기  (0) 2022.06.19
두 날짜의 차이값 계산 함수(TIMESTAMPDIFF)  (0) 2022.05.25
sql error 1262  (0) 2022.03.25
csv를 mysqlDB에 넣기  (0) 2022.03.25