일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- OPENPATH
- 패스트캠퍼스
- 백엔드
- 국비지원취업
- Be
- Spring
- 티스토리챌린지
- 백엔드개발자
- 내일배움카드
- 국비지원
- 디자인교육
- 내일배움캠프
- baekjoon
- 오블완
- UXUI기초정복
- 백준
- 환급챌린지
- 오픈패스
- 국비지원교육
- mysql
- 부트캠프
- KDT
- 백엔드 부트캠프
- Java
- 오픈챌린지
- UXUIPrimary
- UXUI챌린지
- 디자인강의
- 객체지향
- 디자인챌린지
- Today
- Total
목록실행 (2)
군만두의 IT 공부 일지
목차 10.3 실행 계획 분석MySQL 8.0 버전부터는 EXPLAIN 명령의 결과로 출력되는 실행 계획의 포맷을 기존 테이블 포맷과 JSON, TREE 형태로 선택할 수 있음.실행 계획의 출력 포맷보다는 실행 계획이 어떤 접근 방법을 사용해서 어떤 최적화를 수행하는지, 그리고 어떤 인덱스를 사용하는지 등을 이해하는 것이 더 중요함.아무런 옵션 없이 EXPLAIN 명령을 실행하면, 쿼리 문장의 특성에 따라 표 형태로 된 1줄 이상의 결과가 표시됨.표의 각 라인(레코드)은 쿼리 문장에서 사용된 테이블(서브쿼리로 임시 테이블을 생성한 경우 그 임시 테이블까지 포함)의 개수만큼 출력됨.실행 순서는 위에서 아래로 표시됨(UNION이나 상관 서브쿼리와 같은 경우 순서대로 표시되지 않을 수도 있음).출력된 실행 계..
목차10. 실행 계획10.1 통계 정보MySQL 서버는 5.7 버전까지 테이블과 인덱스에 대한 개괄적인 정보를 가지고 실행 계획을 수립함.하지만 테이블 칼럼의 값들이 어떻게 분포되어 있는지에 대한 정보가 없기 때문에, 실행 계획의 정확도가 떨어지는 경우가 많았음.MySQL 8.0 버전부터는 인덱스되지 않은 칼럼들에 대해서도 데이터 분포도를 수집해서 저장하는 히스토그램(Histogram) 정보가 도입됨. 히스토그램이 도입됐다고 해서 기존의 테이블이나 인덱스의 통계 정보가 필요치 않은 것은 아님.10.1.1 테이블 및 인덱스 통계 정보비용 기반 최적화에서 가장 중요한 것은 통계 정보임.통계 정보가 정확하지 않다면 엉뚱한 방향으로 쿼리를 실행할 수 있기 때문임. 부정확한 통계 정보 탓에 0.1초에 끝날 쿼리에..