TIL

[TIL]Day 7 (DB)

박상순 2021. 8. 13. 23:36

Stored Procedure

Mysql 서버단에 저장되는 SQL 쿼리들로 함수처럼 인자를 넘길 수 있다.  select문과 동일한 레코드들의 집합이 나온다. if, case, loop를 통하여 프로그래밍이 가능하다. 하지만 디버깅이 어렵고 서버단의 부하를 증가시킨다.

일반적인 Method 처럼 파라미터를 입력 받아서 동작할 수 있다. CREATE Procedure 이름(파라미터)로 사용 방식을 지정한다. 설정하기 위해서는 추가적으로 block을 형성해주어야한다.

실행법 :  CALL 프로시저이름(파라미터);

 

Stored Function

값을 하나 리턴해주는 서버쪽 함수로 Method를 rngusgksms rjtcjfja Stored Procedure과 비슷하지만 Stored Function은 SQL문 안에서 사용이 가능하다. ex) select function이름(파라미터) from table;

CREATE FUNCTION 이름(파라미터)로 사용 방식을 지정한다. 설정하기 위해서는 추가적으로 block을 형성해주어야한다.

 

Trigger

CREATE TRIGGER 이름 전|후선택 INSERT|DELETE|UPDATE 실행할 동작; 으로 생성을 한다. Treigger를 원하는 조건을 주어 생성하면INSERT/DELETE/UPDATE 실행 전후에 조건에 맞는 동작을 자동으로 실행하는 기능을 한다. 

 

Treigger를 제외하고는 처음으로 배우는 내용이여서 어렵게 느껴졌다. DB에서 프로그래밍을 할 수 있는 것이 DB 서버에서 Method 형식으로 전처리 후처리 동작을 수행하여 데이터를 다룰 때 서버와 DB 서버에 부하를 분산하여서 성능적으로 이점을 만들어 줄수도 있지 않을까라는 생각이 들었다. 3가지의 기능에 대해서는 자세하게 따로 정리가 필요할 것 같다.

728x90

'TIL' 카테고리의 다른 글

[TIL]Day 8  (0) 2021.08.18
[TIL]Day 7 (Spring)  (0) 2021.08.17
[TIL]Day 6 (Transaction)  (0) 2021.08.13
[TIL]Day 5  (0) 2021.08.12
[TIL]Day 4 (Docker, TDD)  (0) 2021.08.11