- CHAR : 속도 빠름, 용량 많이 차지 => 검색에 용이하다.
- VARCHAR : 속도 느림, 용량 적게 차지
- DELETE : 데이터만 삭제된다.
- TRUNCATE : 데이터 및 인덱스 데이터도 같이 삭제된다.
LENGTH()
SELECT LENGTH('홍길동'); # 9
UUID()
- 고유값을 랜덤으로 생성한다.
INSERT INTO ~ SELECT ~
INSERT INTO 테이블 (a, b, c)
SELECT NOW(), UUID(), `hi` FROM 테이블;
- 테이블의 row 개수만큼 데이터가 추가된다. a 칼럼에 NOW(), b 칼럼에 UUID(), c 칼럼에 'hi'가 들어감
SQL_NO_CACHE
SELECT SQL_NO_CACHE * FROM 테이블;
- 캐시를 쓰지 않는다. => 캐시를 쓰지 않은 정확한 속도 측정
INDEX 추가
ALTER TABLE 테이블 ADD INDEX (컬럼);
ALTER TABLE 테이블 ADD UNIQUE INDEX (컬럼);
- 장점 : 고속 검색 가능
- 단점 : 추가/수정/삭제 시 추가 작업을 해야 한다.
- UNIQUE가 아닌 일반 인덱스면 검색 시 일치하는 값을 발견해도 데이터 전체를 검색한다.
EXPLAIN
EXPLAIN SELECT SQL_NO_CACHE * FROM 테이블 WHERE ~;
- 실행 계획 확인
- type이 ALL => 전체 검색, const => 일치하는 값 발견하면 검색 끝
'프로젝트 & TIL > 일별 공부 기록 (백엔드 스쿨)' 카테고리의 다른 글
16일차 - 스프링부트 (0) | 2023.03.14 |
---|---|
15일차 - HTML/CSS와 테일윈드 (0) | 2023.03.13 |
13일차 - DB 쿼리(2) (0) | 2023.03.09 |
12일차 - DB 쿼리(1) (0) | 2023.03.08 |
11일차 - 토스트 UI 에디터(폰트, 플러그인)와 깃허브 블로그, DB (0) | 2023.03.07 |