티스토리 뷰

TIL

[TIL] 2023.06.27

DevHyo 2023. 6. 27. 21:40

 MySQL 쿼리 사용 시, IN절 최적화

MySQL 쿼리 사용 시, IN절을 자주 사용하는 편이다. 지금까지 알고 있었던 내용으로 IN절은 최대 1,000개까지 사용해도 성능에 크게 문제가 없을 줄 알았다. 그런데 1,000개를 사용해도 MySQL 옵션에 따른 옵티마이저의 실행 계획에 따라 성능이 좋지 않을 수도 있다는 것을 알게 되었다. 상황에 따라 1,000개까지 사용하고 싶다면, IN절의 개수를 조금씩 늘려가면서 성능 테스트를 진행해야 한다는 것도 추가로 알게 되었다.

주요 키워드

  • Index Range Scan, index dive
  • Index Range Scan, index statistics
  • MySQL의 eq_range_index_dive_limit 옵션
  • MySQL의 range_optimizer_max_mem_size 옵션
  • Spring JPA(Hibernate)에서 default_batch_fetch_size 설정
  • Spring Batch에서 Chunk Size 설정

정리한 내용

https://github.com/bestdevhyo1225/dev-log/blob/master/JPA/Default_Batch_Fetch_Size_Chunk_Size_Check_List.md

 

GitHub - bestdevhyo1225/dev-log: :memo: Record

:memo: Record. Contribute to bestdevhyo1225/dev-log development by creating an account on GitHub.

github.com

 

'TIL' 카테고리의 다른 글

[TIL] 2023.07.15  (0) 2023.07.15
[TIL] 2023.07.14  (0) 2023.07.14
[TIL] 2022.06.26  (0) 2023.06.26
[TIL] 2023.06.23  (0) 2023.06.23
[TIL] 2023.06.16  (0) 2023.06.17
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함