DATABASE
슬로우 쿼리 개선
응답에 6초 이상 걸리던 페이지의 원인을 실행계획으로 분석하고, MySQL 옵티마이저가 데이터가 적은 테이블을 드라이빙 테이블로 고르며 생긴 문제를 STRAIGHT_JOIN으로 해결한 경험을 정리합니다.
응답에 6초 이상 걸리던 페이지의 원인을 실행계획으로 분석하고, MySQL 옵티마이저가 데이터가 적은 테이블을 드라이빙 테이블로 고르며 생긴 문제를 STRAIGHT_JOIN으로 해결한 경험을 정리합니다.
MySQL이 인덱스로 B-Tree를 사용하는 이유와 인덱스의 동작 방식을 그림으로 살펴보고, 복합 인덱스를 활용해 불필요한 단일 인덱스로 인한 자원 낭비를 줄이는 실무 설계 방법을 정리합니다.
InnoDB의 클러스터·세컨더리·커버링 인덱스 구조를 정리하고, OFFSET 페이지네이션이 느린 이유와 Deferred Join, No Offset, 파티셔닝, 페이지 번호 제한으로 최적화하는 방법을 그림과 함께 비교합니다.
MySQL 인덱스의 동작과 장단점, 카디널리티·선택도 개념을 예제 흐름도와 함께 살펴보고, 복합·커버링 인덱스와 LIKE 검색까지 인덱스를 효율적으로 설계하는 방법을 정리합니다.