CHAR와 VARCHAR 차이
- CHAR: 속도가 빠르다, 실제 저장되는 데이터 양에 상관없이 저장 용량을 소모한다.
- VARCHAR: 속도가 느리다, 실제 저장되는 데이터 양에 저장 용량을 절약한다.
DELETE와 TRUNCATE의 차이
- DELETE: 데이터만 삭제
- TRUNCATE: 데이터와 인덱스 데이터도 삭제
(TRUNCATE를 한 후에 INSERT를 하면 다시 1번부터 넘버링이 된다.)
색인(INDEX)
장점
단점
- 추가/수정/삭제 시 추가 작업을 해야 함(INSERT/UPDATE/DELETE 속도 하락)
언제 인덱스(색인)를 걸어야 할까?
인덱스의 종류
- PRIMARY KEY: 기본키 인덱스
UNIQUE + NOT NULL
- UNIQUE KEY: 유니크 인덱스
UNIQUE
- NORMAL KEY: 일반 인덱스
UNIQUE 없는 일반 인덱스
- FULL TEXT: 본문 검색에 사용할 수 있는 인덱스
한글을 지원하지 않는다. -> 엘라스틱 서치가 필요한 이유
EXPLAIN
- SQL 쿼리 앞에 EXPLAIN을 붙이면, 해당 쿼리를 실행하기 위한 실행 계획을 확인할 수 있다.
내가 만든 쿼리가 실행될 때 INDEX를 이용하는 지 여부를 알 수 있다.