diff --git a/_posts/2024-11-03-mysql-full-scan-query-pattern.md b/_posts/2024-11-03-mysql-full-scan-query-pattern.md index 0ff6eac..8304a40 100644 --- a/_posts/2024-11-03-mysql-full-scan-query-pattern.md +++ b/_posts/2024-11-03-mysql-full-scan-query-pattern.md @@ -77,7 +77,8 @@ explainable_stmt: { | type | 설명 | | ----------- | -------------------------------------------------------------------------------------------------------------------------------------- | | system | 테이블에 행이 하나일 경우. | -| const | 기본 키 또는 고유키를 사용 테이블에는 최대 하나의 일치하는 행이 있는 경우 한 번만 읽기 때문에 매우 빠르다. | +| const | 기본 키 또는 고유키를 사용. 테이블에는 최대 하나의 일치하는 행이 있는 경우. 한 번만 읽기 때문에 매우 빠르다. | +| eq_ref | 조인 시 각 테이블에서 고유한 값(Primary 또는 Unique(+ Not Null))으로 하나의 행만 가져오는 경우 사용. | | ref | 인덱스를 사용, 여러 개 행에 접근할 가능성이 있다. 일치하는 인덱스 값이 있는 모든 행이 읽음. | | ref_or_null | ref 와 비슷하지만 null 에 대해서도 처리한다. | | index_merge | 여러 인덱스를 동시에 사용할 경우 사용. 여러 인덱스의 검색 결과를 합쳐서 최종 결과를 생성하는 방식. | @@ -88,7 +89,7 @@ explainable_stmt: { #### 주의 해야 하는 타입 - ALL, index : 테이블 또는 특정 인덱스가 전체 행에 접근하기 때문에 테이블 크기가 크면 효율이 떨어진다. -- ref_or_null : NULL이 들어있는 행은 인덱스의 맨 앞에 모아서 저장하지만 그 건수가 많으면 MySQL 서버의 작업량이 방대해질 수 있으므로 주 +- ref_or_null : NULL이 들어있는 행은 인덱스의 맨 앞에 모아서 저장하지만 그 건수가 많으면 MySQL 서버의 작업량이 방대해질 수 있으므로 주의 ## 테이블 풀 스캔 패턴