반응형

https://www.kyungyeon.dev/posts/66

 

Index 생성시 데이터의 중복이 적으면 적을수록 좋다. distinct foo 했을 때 랑 count(*) 가 비슷한 컬럼일수록 Index 효율이 높다.

Index의 손익분기점이라고 표현하는데, 상황에 따라 다르겠지만 보통 전체 데이터의 5~10%정도로 걸러지는 경우 Index를 사용했을 때 좋은 효율을 낼 수 있다.
이 내용은 테이블의 데이터가 100만건 정도일 때 조건이고, 1000만건~ 그 이상 많아진다면 손익분기점은 더 낮아진다. 1000만건 이상인 테이블에서는 보통 5%정도로 걸러져야 효율이 좋다.

그리고 20%가 넘어가는 경우 오히려 Table Full Scan이 더 빠를 수 있다.

그리고 당연하게도 활용도가 높은 즉, 많이 사용되는 컬럼을 Index로 사용하는게 좋을 것이다.

 

반응형

+ Recent posts