반응형
https://www.kyungyeon.dev/posts/66
Index 생성시 데이터의 중복이 적으면 적을수록 좋다. distinct foo 했을 때 랑 count(*) 가 비슷한 컬럼일수록 Index 효율이 높다.
Index의 손익분기점이라고 표현하는데, 상황에 따라 다르겠지만 보통 전체 데이터의 5~10%정도로 걸러지는 경우 Index를 사용했을 때 좋은 효율을 낼 수 있다.
이 내용은 테이블의 데이터가 100만건 정도일 때 조건이고, 1000만건~ 그 이상 많아진다면 손익분기점은 더 낮아진다. 1000만건 이상인 테이블에서는 보통 5%정도로 걸러져야 효율이 좋다.
그리고 20%가 넘어가는 경우 오히려 Table Full Scan이 더 빠를 수 있다.
그리고 당연하게도 활용도가 높은 즉, 많이 사용되는 컬럼을 Index로 사용하는게 좋을 것이다.
반응형
'Database > Mysql' 카테고리의 다른 글
MySQL 테이블 대소문자 구분 (0) | 2024.03.08 |
---|---|
[mysql] Your password does not satisfy the current policy requirements (0) | 2023.08.01 |
[API] 앱 버전 체크 시 사용할 만한 쿼리 (1) | 2017.10.11 |
mysql 에서 unix time 구하기 (0) | 2015.09.23 |
mysql bin log 삭제. (0) | 2014.05.15 |