ssung_항해일지/항해99_실전 프로젝트

실전 프로젝트 - 17일차

ssungcohol 2023. 3. 27. 23:55

커버링 인덱스(Covering index) & 복합 인덱스 Prac

Test_1

복합인덱스는 카디널리티가 낮은 순으로 인덱스 생성

커버링 인덱스 적용 X

select *
from book
where title = '가나'
group by category, babyCategory, title;

3회 test 평균 = 1m 24s...


Test_2

복합인덱스는 카디널리티가 낮은 순으로 인덱스 생성

커버링 인덱스 적용 O

select category, babyCategory, title
from book
where title = '가나'
group by category, babyCategory, title;

3회 test 평균 = 24s...

Test_1에 비해 검색 성능 약 3.3배 향상


Test_3

복합인덱스를 카디널리티가 높은 순으로 인덱스 생성

커버링 인덱스 적용 O

select title, babyCategory, category
from book
where title = '가나'
group by title, babyCategory, category;

3회 test 평균 = 약83ms

Test_2에 비해 검색 성능 약 290배 향상


Test_4

복합인덱스 = 카디널리티 높은 순

커버링 인덱스 적용 O

조건을 등호(=)가 아닌 like 사용

select title, babyCategory, category
from book
where title like '가나'
group by title, babyCategory, category;

3회 test 평균 = 약159ms

Test_3에 비해 검색성능 약 2배 저하


결론

복합인덱스 사용 시에는 카디널리티가 높은 순에서 낮은 순으로 인덱스를 생성해주는 것이 좋다

커버링 인덱스의 사용 시에는 조건에 like 사용보다는 등호(=)를 사용하는 것이 성능에 더 좋다


아직까지 커버링 인덱스의 동작원리와 성능 향상에 대한 지식이 부족한 것 같다

인덱스에 관련해 이론 공부를 더 해야겠다

728x90