use-the-index-luke 저자 Markus Winand
Markus Winand는 SQL에 대한 통찰력을 제공하고 다양한 시스템이 SQL을 지원하는 방법을 modern-sql.com 에서 보여줍니다. 이전에 그는 use-the-index-luke.com 을 만들었는데, 지금도 활발하게 유지되고 있습니다. Markus는 winand.at 를 통해 강사, 연사 및 컨설턴트로 고용될 수 있습니다.
You can upload a Korean translation of use-the-index-luke.com on your blog
Thank you from the bottom of my heart to author Makus Winand for allowing me.
These are translations that I use for studying by using a papago (google translate)
The translations may not be correct or there may be a typo.
I'd appreciate it if you could point it out in the comments.
use-the-index-luke.com 의 한글번역본을 블로그에 업로드 해도 된다고
허락해주신 Makus Winand 저자님께 진심으로 감사합니다.
이 번역본들은 제가 공부용도로 번역기(papago, google transrate)를 돌려서
번역한 내용들이라 맞지 않거나, 오타가 있을수 있습니다.
댓글로 지적해주시면 감사하겠습니다.
https://use-the-index-luke.com/sql/explain-plan/mysql/operations
ㄴMYSQL Execution Plan Operations
MySQL reference:http://dev.mysql.com/doc/refman/5.6/en/explain-output.html
Index and Table Access
MySQL의 설명 계획은 사용중인 인덱스에 대해 너무 많은 것을 말하기 때문에 잘못된 안점감을 주는 경향이 있습니다.
기술적으로 올바르다고 해도 인덱스를 효율적으로 사용하고 있다는 의미는 아닙니다.
가장 중요한 정보는 MySQL의 설명 출력의 TYPE 열에 있지만, 키워드 INDEX는 적절한 인덱싱을 나타내지 않습니다.
eq_ref, const
B-tree traversal을 수행하여 하나의 행(예: INDEX UNIQUE SCAN)을 찾고 필요한 경우 테이블에서 추가 열을 가져옵니다. (TABLE ACCESS BY INDEX ROWID).
데이터베이스는 기본 키 또는 고유 제약조건이 검색 기준이 둘 이상의 항목과 일치하지 않도록 보장하는 경우 이 작업을 사용합니다. 표 접근 여부를 확인하려면
“Using Index”을 참조하십시오.
ref, range
B-tree travelsal을 수행하고, 리프 노드를 통과하여 일치하는 모든 인덱스 항목을 찾습니다(INDEX RANGE SCAN과 유사).
필요한 경우 주 테이블 저장소에서 추가열을 가져옵니다.
(TABLE ACCESS BY INDEX ROWID). 표 접근 여부를 확인하려면 “Using Index”를 참조하십시오.
index
인덱스 순서대로 전체 인덱스(모든 행)를 읽습니다.
(INDEX FULL SCAN과 유사).
ALL
디스크에 저장된 전체 테이블(모든 행 및 열 )을 읽습니다.
테이블 검색은 높은 IO 속도 외에도 CPU에 상당한 부하를 줄 수 있도록 테이블의 모든 행을 검사해야 합니다.
“Full Table Scan”도 참조하십시오.
Using Index(in the "Extra" column)
"Extra" 열에 "using Index"이 표시되면, 인덱스에 필요한 모든 데이터가 있기 때문에 테이블에 액세스할 수 없음을 의미합니다.
"using index ONLY"을 생각해 보십시오. 그러나 클러스터된 인덱스를 사용하는 경우
(예: InnoDB를 사용하는 경우 주 인덱스)
"Using Index"는 엄밀히 말하면 인덱스 전용 검색이지만 Extra 열에 나타나지 않습니다.
데이터 클러스터링을 찹조하십시오.
Primary("key" 또는 "possible_keys" 열)
PRIMARY는 기본 키에 대해 자동으로 생성된 인덱스의 이름입니다.
Sorting and Grouping
파일 정렬 사용("Extra" 열)
Extra 열의 "using filesort"은 정렬이 수행되는 위치(메인 메모리 또는 디스크)에 관계없이 명시적인 정렬 작업을 나타냅니다.
"Using filesort"은 중간 결과(파이프라인이 아닌)를 구체화하기 위해 많은 양의 메모리가 필요합니다.
“Indexing Order By”을 참조 하십시오.
Top-N Queries
암시적: "Extra"열에 "using filesort"없음
MySQL 실행계획은 상위 N 쿼리를 명시적으로 표시하지 않습니다. 제한 구문을 사용하는 경우 추가 열에 "using filesort"이 표시되지 않으면 파이프라인 방식으로 실행됩니다. "상위 N개 행 쿼리"도 참조하십시오.
'use-the-index-luke' 카테고리의 다른 글
A.3 Oracle (0) | 2023.12.13 |
---|---|
A.2-3 (MySQL) Access vs. filter predicates (0) | 2023.12.11 |
A.2-1 (MySQL) Getting (0) | 2023.12.06 |
A.2 MYSQL (0) | 2023.12.04 |
A.1-3 (DB2) Access vs. filter predicates (0) | 2023.11.30 |