[MYSQL] 실행 계획 수행 - possibile_keys, key, key_len, ref
기본 실행 계획 항목 분석 id, select_type, table, partitions, type, possible_keys, key, key_len, ref, rows, filtered, extra possibile_keys 옵티마이저가 SQL문을 최적화하고자 사용할 수 있는 인덱스 목록을 출력 실제 사용한 인덱스가 아닌, 사용할 수 있는 후보군의 기본 키와 인덱스 목록만 보여줌 → SQL튜닝 효용성 없음 key 옵티마이저가 SQL문을 최적화하고자 사용한 기본 키(PK) 또는 인덱스명을 의미 어떤 인덱스로 데이터 검색했는지 확인 가능 → 비효율적인 인덱스를 사용, 인덱스 자체를 사용하지 않았다면 SQL 튜닝 대상 1. 기본 키(PK)로 데이터 접근 EXPLAIN SELECT 사원번호 FROM 직급 ..
2023. 7. 5.
[MYSQL] 실행 계획 수행 - table, partitions, type
기본 실행 계획 항목 분석 id, select_type, table, partitions, type, possible_keys, key, key_len, ref, rows, filtered, extra table 테이블명을 표시하는 항목, 실행 계획 정보에 테이블명이나 테이블 별칭(alias)를 출력 서브쿼리나 임시 테이블을 만들어서 별도의 작업을 수행할 때는 라고 출력 EXPLAIN SELECT 사원.사원번호, 급여.연봉 FROM 사원, (SELECT 사원번호, MAX(연봉) as 연봉 FROM 급여 WHERE 사원번호 BETWEEN 10001 AND 20000 GROUP BY 사원번호) as 급여 WHERE 사원.사원번호 = 급여.사원번호; 첫번 째 행의 table 열 : , id = 1 두번 째 행..
2023. 7. 4.
[MYSQL] 실행 계획 수행 - id, select_type
기본 실행 계획 수행 실행계획 : SQL문으로 요청한 데이터를 어떻게 불러올 것인지에 관한 계획, 즉 경로를 의미 실행 계획 키워드 : EXPLAIN, DESCRIBE, DESC EXPLAIN SQL 문; DESCRIBE SQL 문; DESC SQL 문; MYSQL의 실행 계획 수행 SQL문 앞에 EXPLAIN 키워드를 입력하고 실행하면 옵티마이저가 만든 실행 계획 출력 DESC SELECT * FROM 사원 WHERE 사원번호 BETWEEN 100001 AND 200000; 결과 기본 실행 계획 항목 분석 id, select_type, table, partitions, type, possible_keys, key, key_len, ref, rows, filtered, extra id 실행 순서를 표시하..
2023. 7. 2.