Range checked for each record (index map: 0x2)

explain 시
"Range checked for each record (index map: 0x{숫자})"
의 모양으로 나오는데,
웃긴게 
analyze table {TABLE}
하면 
"Using where; Using join buffer (Block Nested Loop)"
처럼 바뀌는 경우가 있다.

우선 버그 같고...
발생 조건?은

조인 조건에
날짜 범위 검색 +  in 처리.
" pd.r_idx in(ppd.r_idx,0) 
and pd.pr_idx=ppd.pr_idx and pd.pd_st_date <= concat(use_date,' 23:59:59') 
and pd.pd_ed_date >= concat(use_date,' 00:00:00') "
처럼 할 경우 높은 빈도로
"Range checked for each record (index map: 0x{숫자})" 가 발생된다.


  • Range checked for each record (index map: 0x{숫자})
    • 문제는 속도가 아주 느려진다. 간단한 쿼리인데도 0.2초는 기본으로 잡아 먹는다.
    • 날짜 범위 검색 +  in 으로 검색시 인덱스를 잘못 처리하는 것 같다.


댓글
  • No Nickname
    No Comment
  • 권한이 없습니다.
    {{m_row.m_nick}}
    -
목록형 📷 갤러리형
제목
[기본형] HTML (with 부트스트랩5.3 , jquery 3.7, vue.js)
유용한 리눅스(LINUX) 명령어
[공지] 기술 게시판
3.31
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.18
4.19
4.20
4.21
4.22
4.23
4.24
4.25
4.26
4.27
4.28
4.29
4.30
5.1
5.2
5.3
5.4