2023-java-study / book-study

북 스터디 기록 레포지토리
0 stars 0 forks source link

9.3.1.17 인비저블 인덱스 #211

Open NuhGnod opened 10 months ago

NuhGnod commented 10 months ago

p.354 마지막 쿼리문 처럼 use_invisible_indexes=on 으로 바로 위 쿼리로 옵티마이저가 ix_hiredate 인덱스를 사용하지 못하게 INVISIBLE 로 설정해 놓았는데 다시 이 설정값을 수정해 옵티마이저가 INVISIBLE 상태의 인덱스도 볼 수 있게 설정 하면

왜 INVISIBLE로 설정해놓는건지 궁금해집니다.

그냥 VISIBLE로 두면 되는 것이 아닌가 싶습니다..

ssstopeun commented 10 months ago

성능문제 등으로 INVISIBLE하게 설정하는 것이 맞다고 판단해 그렇게 설정을 했지만 VISIBLE로 뒀을때의 성능을 테스트해 비교하는 과정에서 사용할 수 있지 않을까 생각했습니다.

image

gmelon commented 10 months ago

음 저는 use_invisible_indexes의 기본 값이 off 이므로 INVISIBLE 칼럼은 고려하지 않을텐데 이걸 기본 값으로 사용하다가 다시 사용해야 하는 단발성의 특수한 상황이 발생하면 잠시 풀어서 사용하라고 ..? 있는건가 싶었습니다. SET optimizer_switch는 세션 단위로도 줄 수 있으니깐 통계나 배치 쿼리? 를 날릴 때 등 사용할 일이 있지 않을까 생각해봤어요