use-the-index-luke

1.Indexes Can Degenerate

kim-jiyoung 2024. 2. 5. 20:10

 

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/indexes-can-degenerate

인덱스가 퇴화될 수 있음

가장 유명한 미신은 인덱스가 시간이 지나면 퇴화될 수 있으며 정기적으로 다시 작성되어야 한다는 것입니다.

무엇보다도 데이터베이스는 항상 트리 밸런스를 유지합니다. tree travelsal이 느려질 때까지 인덱스의 단일 조각이 점점 더 깊어질 수 없습니다.

일어날 수 있는 일은 index가 필요 이상으로 커진다는 것입니다.

UPDATE 또는 DELETE 문이 많으면 공간 활용률이 최적이 아닐 수 있습니다. 다만 필요 이상으로 INDEX가 커도 index의 깊이가 깊어질 가능성은 매우 낮습니다.

“The Search Tree (B-Tree) Makes the Index Fast”에서 설명한대로, index 깊이를 한 단계 높이려면 index의 항목 수가 일반적으로 100배 증가해야 합니다.

인덱스를 재구성하면 leaf node 수가 약 20%~30% 감소할 수 있습니다. FULL INDEX SCAN 과 같은 매우 비싼 작업의 경우 이러한 절감 효과를 통해 20%~30%를 얻을 수 있습니다.

인덱스의 깊이가 재구성에 의해 감소하지 않기 때문에 인덱스 재구성의 일반적인 INDEX UNIQUE SCAN 이득은 0%~2%입니다.