테스트 사이트 - 개발 중인 베타 버전입니다

where 절 조건이 많으면 속도에 영향을 끼치나요? 채택완료

밀리지 2년 전 조회 2,807

where A = '1' AND B = '2' AND C != '' AND D = '4';

 

이런식으로  where 절에 조건이 많을 수록 속도가 느려지나요??

 

가능하면 조건을 줄이는 게 좋을까요?

댓글을 작성하려면 로그인이 필요합니다.

답변 6개

채택된 답변
+20 포인트
2년 전

조건절이 많은 경우, mysql 옵티마이저가 어떤 인덱스가 가장 효율적인지 찾는 과정에서 잘못된 인덱스를 사용할 가능성이 있습니다.

 

이때는 index hinting 을 쓰면 좋습니다.

mysql 에선 use index 입니다.

 

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

2년 전

DB구조에 따라 달라집니다

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

2년 전

그렇지 않습니다.

 

줄이지 않아도 됩니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

s
2년 전

테이블에 저장된 레코드수가 적을때에는 속도에 아무런 문제가 없을거 같습니다.

그러나 레코드수가 많을때에는 최대한 쿼리를 최적화 해야 합니다.

MySQL공식문서의 최적화부분을 보면 where구문을 최대한 단출하게 작성할것을 권장하고 있습니다.

이부분을 잘 연구해보시면 될거 같습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

M
2년 전

조건절이 많으면 속도가 느려질수 있긴 합니다.

다만 조건절에 맞게 index를 설정하시면 속도가 개선되긴 합니다.

그래서 index 설정이 중요합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

A
2년 전

아니요 크게 차이 없습니다. 디비량에 따라 속도가 차이납니다. 해당은 대략 디비량이 최소 10만개 이상부터 고려해봐야할듯합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인