-
성능 개선을 진행해보자 2스프링 2024. 7. 7. 22:18
Index
bookMark의 modifiedDate에 대한 컬럼에 내림차순 인덱스를 만들어준다.
@Table(name = "book_mark", indexes = { @Index(name = "idx_modified_date_desc", columnList = "modifiedDate DESC") })
그러나 실행계획을 분석해보면 인덱스를 타지 않음을 알 수 있었다.
강제로 인덱스를 타도록 쿼리 힌트를 주었다.
EXPLAIN SELECT * FROM book_mark FORCE INDEX (idx_modified_date_desc) ORDER BY modified_date DESC;
실행결과는 아래와 같다.
보시다시피 속도가 반절이상 빨라진 것을 볼 수 있다.
그러나 문제점은 queryDSL은 force가 불가능하다는 것이다.
따라서 현재의 차선책은 JPA Hint를 이용하여 강제로 쿼리를 타게 하는 것,
두번재는 스프링 배치를 이용하는 방법 두가지 이다.728x90'스프링' 카테고리의 다른 글
성능 개선을 진행해보자3 (0) 2024.07.17 성능 개선을 진행해보자 1편 (0) 2024.07.03 빈 등록과 주입을 아라보자 (1) 2024.05.15 [Spring] springBoot2.4 이상에서의 application설정 (0) 2023.12.29 [Spring] Error - Parameter 0 of constructor in ~ required a bean of type 'java.lang....' that could not be found. (0) 2023.12.29