👣 개요
인덱스의 여부에 따른 검색 속도 향상 여부를 확인하는 실험.
👣 실험 계획
Item은 name에 인덱스가 부여되지 않았고
해당 Item 테이블의 Row 갯수는 100만 개 입니다.
실험을 위해 사용된 코드는 위와 같이 Name 칼럼을 기준으로 검색하는 메서드다.
실험에 사용되는 테스트 코드는 위와 같이
순차적으로 N번 메서드를 호출하고 해당 실행 시간을 확인하는 형태로 진행된다.
👣 실험 수행
⚗️ 대조군 - 인덱스 없이 검색
우선 100번 정도 메서드를 호출했을 때의 결과다.
20129 ms, 즉 20.129초가 걸림을 알 수 있다.
겨우 100번 호출했음에도 불구하고 20초나 걸린다는 것을 알 수 있다.
⚗️ 실험군 - 인덱스 생성 후 검색
인덱스를 만들기 위해 다음과 같은 쿼리를 실행한다.
100만 개의 데이터가 있는 테이블의 인덱스를 생성하는데 대략 5.5초가 소요된다.
그런 다음, 100번 정도 다시 메서드를 호출했을 때의 결과다.
571 ms, 즉 0.571초가 걸림을 알 수 있다.
엄청난 성능 상승효과를 맛볼 수 있었다.
👣 실험 결과
결과적으로 인덱스로 인한 검색 속도 향상은 어마어마한 이점을 가져다 주었고 표로 정리하면 다음과 같다.
특징 | 수행 시간 | 향상 효과 | |
대조군 | 인덱스 X | 20129 ms | - |
실험군 | 인덱스 O | 571 ms | 97.16% 감소 |
'프로젝트 회고' 카테고리의 다른 글
Optimizer 中 반정규화에 의한 통계 쿼리 실행 속도 향상 (0) | 2023.11.29 |
---|---|
Optimizer 中 인덱스에 따른 삽입 속도 저하 (0) | 2023.11.28 |
Optimizer 프로젝트 소개 (0) | 2023.11.27 |
Mine Sweeper 프로젝트 中 CORS 테스트 코드 작성 (0) | 2023.11.19 |
Re:USE 프로젝트 中 근처 상품 조회 기능 구현 (0) | 2023.11.19 |