사용자 → (정보요청) → MySQL 엔진 → 스토리지 엔진 → (요청한 정보 제공) → 사용자
MySQL 엔진
사용자가 요청한 SQL문 전달 받음
→ 해당 SQL문 오류 확인 및 오브젝트 존재 여부 등 확인
→ Parsor 에서 SQL문에 대한 내용 최소 단위 분리 및 구성요소를 트리 형태로 생성
→ Optimizer 에서 생성된 트리를 기반으로 비용적 / 시간적 효율적인 경로 모색
스토리지 엔진
요구하는 데이터를 찾아서 도출해 냄
데이터의 성격에 따라 엔진이 여러가지로 나뉨
InnoDB / MyISAM / Memory 등
--MySQL
--정의된 스토리지 엔진 종류 확인하기
SELECT * FROM 'ENGINES';
InnoDB
MyISAM
Memory
사용자 - SQL 실행 → 파서(Parsor) → 전처리기(preprocessor) → 옵티마이저(Optimizer) - 실행계획전달 → 엔진실행기(스토리 엔진을 통해 데이터 가져오기) - 최종결과 전달 - 결과수신 → 사용자
제한된 정보만 사용하여 보안적 측면에서 유리
SQL 튜닝 시 활용에 유리
CREATE VIEW 학생_뷰 AS
SELECT 학번, 이름 FROM 학생;
--연락처(번호)는 유일한 값
ALTER TABLE 학생
ADD UNIQUE INDEX 연락처_인덱스(연락처);
ALTER TABLE 학생
ADD INDEX 이름_인덱스(이름);