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/myth-directory/most-selective-first
복합 인덱스가 생성될 때마다 열의 순서를 현명하게 선택해야 합니다.
이 질문에는
“Concatenated Indexes”가 포함되어 있습니다.
하지만, 항상 가장 선택적인 열을 첫 번째 위치에 놓아야 한다는 속설이 있습니다.
그것은 잘못된 것입니다.
Important
연결된 인덱스를 정의할 때 가장 중요한 고려 사항은 열 순서를 선택하여 가능한 자주 사용할 수 있도록 하는 방법입니다.
그 다음에는 가장 덜 선택적인 열을 먼저 넣어야 하는 이유까지 있습니다. 예를 들어 이 경우 오라클 데이터베이스는 INDEX SKIP SCAN을 사용할 수 있습니다.
하지만 그것은 진보된 기능입니다.
가장 중요한 요소는 … 제가 전에 그렇게 말했었나요?
이 미신의 진정한 본질은 독립적인 범위 조건을 인덱싱하는 것과 관련이 있습니다.
이는 선택성이 인덱스 설계에 영향을 미치는 유일한 경우입니다.(“Index Merge” 참조)
이 미신은 SQL Server 환경에서 매우 지속적이며 공식 설명서에도 나와 있습니다.
SQL Server는 첫 번째 인덱스 열에 대해서만 히스토그램을 유지하기 때문입니다.
그러나 히스토그램은 균등하게 분포된 열에 대해 그다지 유용하지 않기 때문에 권장 사항이 "비균등 분표 열 먼저"와 같이 표시되어야 한다는 것을 의미합니다.
이가 이 미신과 싸우는 첫번째 사람이 아닙니다.
여기 미신을 반증하는 몇가지 언급이 있습니다:
연결된 인덱스에 자동으로 가장 선택적인 용어를 먼저 넣지 마십시오.
— Guy Harrison in “Oracle Performance Survival Guide”
인덱스에 대한 자주 인용되는 동화 중 하나는
"가장 선택적인 열을 먼저 놓으라"는 지시였습니다.
그것은 결코 합리적인 경험의 법칙이 아니었습니다(6.0 이전 버전을 제외하면).
— Jonathan Lewis in “Oracle Scratchpad”
매우 적은 수의 쿼리가 인덱스를 필터링 하는 경우 왼쪽에 가장 선택적인 열을 두는 것은 유용하지 않습니다.
필터링하지는 않지만 인덱스의 다른 열에서 피ㄹ터링하는 쿼리는 검색해야 하며 검색 비용이 많이 듭니다.
— Gail Shaw in ”SQL (Server) in the Wild”
'use-the-index-luke' 카테고리의 다른 글
4.Dynamic SQL is Slow (0) | 2024.02.15 |
---|---|
3.Oracle Cannot Index NULL (0) | 2024.02.12 |
1.Indexes Can Degenerate (0) | 2024.02.05 |
B.Myth Directory (0) | 2024.02.01 |
A.7-2 (SQLbase) Operations (1) | 2024.01.30 |