[MySQL] 데이터베이스 개체(02-3)
🚀 데이터베이스 개체
인덱스, 뷰, 스토어드 프로시저, 트리거, 스토어드 함수, 커서 등
💡 인덱스(index)
- 데이터를 조회할 때 결과가 나오는 속도를 획기적으로 빠르게 해줌
- 인덱스 생성 여부에 따라 결과가 달라지는 것은 아님
[인덱스 생성]
CREATE INDEX idx_member ON member(member_name);
💡 뷰(view)
- 테이블(table)의 일부를 제한적으로 표현, 가상의 테이블
- 인덱스 생성 여부에 따라 결과가 달라지는 것은 아님
- 실제 데이터를 가지고 있지 않으며, 진짜 테이블에 링크(link)된 개념
- 보안에 도움이 되며, 긴 SQL문을 간략하게 만들 수 있음
[뷰 생성]
CREATE VIEW member_view
AS
SELECT * FROM member;
뷰에 접근하는 방식은 테이블과 동일
SELECT * FROM member_view;
💡 스토어드 프로시저(stored procedure)
- MySQL에서 제공하는 프로그래밍 기능
- 여러 개의 SQL문을 하나로 묶어 편리하게 사용 가능
- SQL을 묶는 개념 외에도 연산식, 조건문, 반복문 등 사용 가능
[스토어드 프로시저 생성]
DELIMITER //
CREATE PRECEDURE myProc()
BEGIN
SELECT * FROM member WHERE member_name = '나훈아';
SELECT * FROM product WHERE product_name = '삼각김밥';
END //
DELIMITER;
- 구분 문자라는 의미의 DELIMITER // ~ DELIMITER; 문 사용 » 스토어드 프로시저 묶어주는 약속
- BEGIN, END 사이에 SQL문
[스토어드 프로시저 호출]
CALL myProc();
호출시 myProc() 에 포함된 두 SQL을 실행한 것과 동일한 결과 확인
[스토어드 프로시저 삭제]
DROP PROCEDURE myProc;
Leave a comment