MySQL Explain 결과 해석

Mysql 실행계획 정리 MySQL Explain 결과는 일반적으로 쿼리 실행 시간, 반환된 행의 수, 사용된 인덱스 등을 포함합니다. 실행계획 결과 항목 설명 EXPLAIN SELECT * FROM member WHERE id=1; id: 쿼리의 실행 순서를 나타내는 값입니다. select_type: 쿼리의 유형을 나타내는 값입니다. (e.g. SIMPLE, PRIMARY, SUBQUERY 등) table: 쿼리에서 사용된 테이블의 이름입니다. partitions: 쿼리에서 사용된 파티션의 이름입니다. type: 테이블에 접근하는 방법을 나타내는 값입니다. (e.g. ALL, index, range 등) possible_keys: 사용 가능한 인덱스의 이름입니다. key: 쿼리에서 실제로 사용된 인덱스의 이름입니다. key_len: 쿼리에서 사용된 인덱스의 길이입니다. ref: 인덱스를 사용한 조인 조건입니다. rows: 쿼리에서 반환되는 행의 수입니다. filtered: 쿼리에서 반환된 행 중 조건에 부합하는 행의 비율입니다. Extra: 추가 정보입니다. select_type 쿼리 유형을 나타냅니다. 쿼리가 처리되는지 이해하는데 도움이 됩니다. 쿼리의 처리 방식과 테이블 간의 연결 등에 따라 달라지기 때문에 유형에 맞는 최적화된 방법 선택이 중요합니다. SIMPLE: 단일 테이블에서 데이터를 조회. 단순한 데이터 조회인 경우 입니다. PRIMARY: 다른 쿼리의 서브쿼리로 사용되는 경우가 대부분 입니다. 서브쿼리, 외부쿼리 사용 시 첫 번쨰 쿼리인 경우 입니다. SUBQUERY: 다른 쿼리의 서브쿼리로 사용. 실행 계획이 먼저 실행된 다음 외부 쿼리에 의해 실행 됩니다. DERIVED: FROM 절에 대한 서브쿼리. UNION: UNION 을 사용하여 두 개 이상의 SELECT 문을 결합하는 경우 입니다. UNION RESULT: UNION 연산자로 결합된 결과를 반환하는 경우 입니다. DEPENDENT UNION: UNION 연산자가 서브쿼리에 의존하는...