where 절 조건이 많으면 속도에 영향을 끼치나요?
본문
where A = '1' AND B = '2' AND C != '' AND D = '4';
이런식으로 where 절에 조건이 많을 수록 속도가 느려지나요??
가능하면 조건을 줄이는 게 좋을까요?
답변 6
조건절이 많은 경우, mysql 옵티마이저가 어떤 인덱스가 가장 효율적인지 찾는 과정에서 잘못된 인덱스를 사용할 가능성이 있습니다.
이때는 index hinting 을 쓰면 좋습니다.
mysql 에선 use index 입니다.
아니요 크게 차이 없습니다. 디비량에 따라 속도가 차이납니다. 해당은 대략 디비량이 최소 10만개 이상부터 고려해봐야할듯합니다.
조건절이 많으면 속도가 느려질수 있긴 합니다.
다만 조건절에 맞게 index를 설정하시면 속도가 개선되긴 합니다.
그래서 index 설정이 중요합니다.
테이블에 저장된 레코드수가 적을때에는 속도에 아무런 문제가 없을거 같습니다.
그러나 레코드수가 많을때에는 최대한 쿼리를 최적화 해야 합니다.
MySQL공식문서의 최적화부분을 보면 where구문을 최대한 단출하게 작성할것을 권장하고 있습니다.
이부분을 잘 연구해보시면 될거 같습니다.
그렇지 않습니다.
줄이지 않아도 됩니다.
DB구조에 따라 달라집니다
답변을 작성하시기 전에 로그인 해주세요.