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