묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
쿼리 100번?
2003.02.28 02:00
심각할건 없고 테스트 해보기 힘든 고민을 한가지 해결하고자 합니다.ㅡㅡ;
한문서에서 쿼리를 100번 해본 소요시간이 0.5 초이고
또다른 한 문서에서 쿼리를 한번해본 소요시간이 10초라면
DB 서버가 받는 부담면에선 한번의 쿼리를 날리는것이 부담이 더 크겠죠?
시간이 짧으면 부담이 적다고 생각할때
100번의 쿼리를 하는것과 1번의 쿼리를 하는것중 php를 번역하는놈은 어떤쪽이 부하가 큰가요.
그리고 어쩔수없이 100번의 쿼리와 1번의 쿼리 둘중하나를 선택해야 할때
소요시간차이가 의미하는것이 서버가 느끼는 상대적인 부담차이라고 생각해도 되는지요
한문서에서 쿼리를 100번 해본 소요시간이 0.5 초이고
또다른 한 문서에서 쿼리를 한번해본 소요시간이 10초라면
DB 서버가 받는 부담면에선 한번의 쿼리를 날리는것이 부담이 더 크겠죠?
시간이 짧으면 부담이 적다고 생각할때
100번의 쿼리를 하는것과 1번의 쿼리를 하는것중 php를 번역하는놈은 어떤쪽이 부하가 큰가요.
그리고 어쩔수없이 100번의 쿼리와 1번의 쿼리 둘중하나를 선택해야 할때
소요시간차이가 의미하는것이 서버가 느끼는 상대적인 부담차이라고 생각해도 되는지요
댓글 2
-
행복한고니
2003.02.28 05:50
-
이호한
2003.02.28 10:39
1번 쿼리를 난리는게 불리합니다. 10초 동안 DB의 connection을 물고 있으면 다른 사용자가 대기하는 시간이 늘어날 수 있습니다.
하지만 근본적으로 100번과 1번의 결과셋이 같다면 1번의 쿼리에 문제가 있는 것입니다.
이럴 경우에는 테이블 모델링을 개선하고 쿼리를 튜닝하는게 먼저입니다.
왠만한 쿼리는 인덱스를 효율적으로 사용하기만해도 극히 짧은 시간안에 처리가 끝납니다.
1. (DB서버 -> 쿼리 처리 -> PHP) : 괄호 반복
2. DB서버 -> (쿼리처리) -> PHP
이렇게 되잖아요?