-
대한 type 컬럼 설명 MySQ Lexplain 명령어에카테고리 없음 2021. 1. 28. 05:13
MySQLexplain 명령어의 type 컬럼 설명은 다음과 같습니다.
* ALL-full table scan-MySQL의 이행을 찾기 위해 테이블의 처음부터 끝까지 스캔해야 함을 의미한다.
* index-index 순으로 스캔하기 때문에 정렬할 필요가 없다는 장점이 있다.- 가장 큰 단점은 전체 테이블을 index 순으로 불러오는 비용에 있으며 이는 임의의 순서로 행에 액세스하는데 큰 비용이 필요하다는 의미이다. - Extra 컬럼에 "Using index"가 출력되면 MySQL이 커버링 인덱스를 사용하게 되고 index 순으로 각 행을 읽는 것이 아니라 index 순으로 각 행을 읽는 것이 아니라
*range-index 의 특정 부분에서 시작해서 특정 범위에 있는 값을 갖는 행을 반환합니다.전체 index 스캔보다 좋은 성능을 나타낸다.
*ref 어떤 값 하나에 대해서 매치되는 행을 반환하는 index 액세스 방식이다.
* eq_ref-MySQL이 기껏해야 값 하나만 반환할 수 있음을 알고 있을 때, 이러한 index 탐색법이 사용되고, MySQL이 쿼리를 실행하기 위해 참조 값을 기본키나 unique index에 비교할 때 이러한 접근 방법을 사용할 수 있음을 확인할 수 있다.
* const, system-쿼리 일부를 상수로 대체하고 쿼리를 최적화할 수 있는 경우 MySQL 에서는 이러한 접근 방법을 사용하게 된다. -WHERE 절에 기본키를 이용하여 검색하는 조건을 사용할 경우 MySQL에서는 쿼리를 상수로 바꿔버린 후 제거 조인으로 테이블을 사용한다.
* NULL-MySQL이 최적화 단계에서 쿼리를 처리할 수 있으므로 실행 단계에서 index나 테이블에 접근조차 하지 않는다는 의미이다. -index로 되어 있는 컬럼에서 최소 값을 선택할 경우 index만 찾으면 되므로 실행 단계에서 테이블에 접근할 필요가 없다.