최종 인덱스

meeting_date, is_deleted, offering_status
is_deleted, id, discount_rate
offering_status, title, meeting_address

image.png


1. findByMeetingDateAndOfferingStatusNot

결론: meeting_date, is_deleted, offering_status

카디널리티 높은 필드의 순서로 탐색한 후 작업 범위를 결정하지 않는 필드를 탐색한다. 또한 다른 인덱스와 공존할 경우 MySQL 옵티마이저가 선택하는 인덱스이다.

image.png

2. findJoinableOfferingsWithKeyword

참여 가능한 필터 적용 검색 결과

결론: 추가 X

이유: id로 필터링과 정렬을 진행하므로 PK만으로 성능 개선 충분

image.png

3. findHighDiscountOfferingsWithKeyword

높은 할인율

결론: is_deleted, id, discount_rate