728x90
반응형
실행 계획이란?
사용자가 SQL을 실행하여 데이터를 추출하려고 할 때 옵티마이저가 수립하는 작업 절차
SQL Statement가 요구한 데이터를 추출하기 위해 DBMS가 차례로 수행하는 Acess 과정
SQL을 실행한 후 실행 계획을 판단하여 이 SQL이 어떠한 방식으로 실행되는지 확인 가능
쿼리문의 실행 계획을 확인하는 방법
1️⃣ EXPLAIN PLAN, AUTOTRACE, SQL TRACE 로 확인하는 방법
2️⃣ DBMS 관리 툴을 활용하여 실행 계획을 확인하는 방법
실행 순서
실행 계획은 여러 단계로 이루어져 있는데 이를 스텝이라고 함
각각의 스텝에는 그 단계에서 어떤 명령이 수행되었고 총 몇건의 데이터가 처리되었으며 이 처리를 위해 얼마만큼의 비용과 시간이 소요되었는지 표시함
1번 수행 👉 2번 수행 👉 3번 수행 👉 4번 수행 👉 5번 수행 👉 6번 수행 👉 결과 리턴
1️⃣ 위에서 아래로 읽어 내려가면서 제일 먼저 읽을 스텝을 찾기
2️⃣ 내려가는 과정에서 같은 들여 쓰기가 존재한다면 무조건 위 -> 아래 순으로 읽기
3️⃣ 읽고자 하는 스텝보다 들여 쓰기가 된 하위스텝이 존재한다면, 가장 안쪽으로 들여쓰기 된 스텝을 시작으로 하여 한 단계씩 상위 스텝으로 읽기
용어 설명
Rows | 해당 쿼리에 영향 받는 Row 수 |
Bytes | Rows * (1 Row의 총 길이), 쿼리 실행 시 발생하는 네트워크 트래픽(I/O 발생량) |
Cost | 해당 쿼리가 동작할 때 소요하는 비용 |
참고 자료 : https://bobr2.tistory.com/170
반응형
'프로그래밍 > SQL' 카테고리의 다른 글
[MySQL] 컬럼명 변경, 컬럼 순서 변경, 컬럼 타입 변경, 컬럼 추가, 컬럼 삭제 (0) | 2022.12.26 |
---|---|
[MySQL] MySQL 숫자를 문자로 변환 (0) | 2022.12.20 |
[SQL] 여러행을 하나로 합치기 (0) | 2022.12.14 |
[MySQL] 이전 데이터 조회 (0) | 2022.12.07 |
[MySQL] UNSIGNED 의미 (0) | 2022.12.02 |