MySql 에서 아래와 같이 쿼리를 날렸는데요/
select *
from a
where a.col1 = ifnull('aaa', 'bbb')
a.col1 에 인덱스가 있음에도 불구하고 풀스캔을 타고 있습니다.
ifnull 로 가공처리된부분이 컬럼이 아닌데도 불구하고 인덱스를 타지 않고 있는데요,
ifnull 을 빼고 a.col1 = 'aaa' 와 같이 쿼리를 작성하면 인덱스를 잘 탑니다.
왜 이런결과가 나오는지 혹시 아시는분 계신가요?
내부로직을 몰라서 ^^
https://godreem.tistory.com/entry/MySQLSQL%ED%8A%9C%EB%8B%9DWHERE%EC%A0%88%EC%9D%98-INFULL-%EC%82%AC%EC%9A%A9-%EC%8B%9C-%EC%84%B1%EB%8A%A5%EC%A0%80%ED%95%98-%ED%8A%9C%EB%8B%9D
참고하세요.