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/join/sort-merge-join
ㄴ정렬-병합 조인
정렬 병합 조인은 두 개의 정렬된 목록을 지퍼처럼 결합합니다. 조인의 양쪽을 조인 Predicate별로 정렬해야 합니다.
정렬 병합 조인에는 해시 조인과 동일한 인덱스가 필요합니다. 이 인덱스는 모든 후보 레코드를 한 번에 읽기 위한 독립적인 조건에 대한 인덱스입니다. 조인 Predicate를 인덱싱하는 것은 유용하지 않습니다.
지금까지 모든 것이 해시 조인과 같습니다.
그럼에도 불구하고 정렬-합병 결합에 고유한 한 가지 측면이 있습니다: 절대 대칭입니다. 조인 순서는 성능에도 영향을 미치지 않습니다. 이 속성은 외부 조인에 매우 유용합니다. 다른 알고리즘의 경우 외부 조인의 방향(왼쪽 또는 오른쪽)은 조인 순서를 의미하지만 정렬 병합 조인은 의미하지 않습니다.
정렬 병합 조인은 왼쪽과 오른쪽 외부 조인을 동시에 수행할 수도 있습니다. 이는 다음 애니메이션에서 볼 수 있는 것과 같이 전체 외부 조인이라고 합니다.
Figure 4.1 Sort-Merge Join Executing a FULL OUTER JOIN
----------------------------------------------------------
https://use-the-index-luke.com/static/intentional-filter-predicate.en.N5J1kRR3.gif
----------------------------------------------------------
정령 병합 조인은 입력이 정렬되면 매우 잘 수행되지만 양쪽 정렬 비용이 매우 않이 들기 때문에 거의 사용되지 않습니다.
그러나 해시 조인은 한쪽 면만 사전 처리 하면 됩니다.
입력이 이미 정렬된 경우 정렬 병합 조인의 강도가 나타납니다. 이는 인덱스 순서를 이용하여 정렬 작업을 완전히 방지함으로써 가능합니다. 6장 "정렬 및 그룹화"에서는 이 개념을 자세히 설명합니다. 그럼에도 불구하고 해시 조인 알고리즘은 많은 경우에 더 우수합니다.
----------------------------------------------------------
Factbox
* 정렬 병합 조인은 조인 술러의 인덱스가 필요하지 않습니다.
* MySQL은 정렬 병합 조인을 전혀 지원하지 않습니다.
----------------------------------------------------------
'use-the-index-luke' 카테고리의 다른 글
5.1 Index filter Predicates Intentionally Used (1) | 2023.10.10 |
---|---|
5장 Clustering Data (1) | 2023.10.06 |
4.2 Hash Join (0) | 2023.09.28 |
4.1 Nested Loops (0) | 2023.09.25 |
4장 The Join Operation (0) | 2023.09.21 |