개발 Q&A

제목 쿼리 질문인데요!!~
글쓴이 작성시각 2015/12/10 13:31:19
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 12342   RSS
달력을 만들고 날짜에 데이터를 가져오는 로직을 만들었는데요.
처음엔 일마다 쿼리를 날려서 데이터를 가져오게끔 했었어요.
근대 프로파일 해보니 대략 31번 쿼리를 날리고 시간이 꽤 지연이 되길래 로컬에서요 실서버에선 넘 빨라서
그냥 감수하고 갔거든요.. 
근대 안되겠다 싶어서 개선해봐야겠다 하고 쿼리를 한번만 날리게 기간으로 검색해와서 배열에 담에서
뿌리게 바꿨죠;
근대 상식적으로 쿼리를 나누면 빨라져야 정상 아닌가요??
한번에 묶어서 가져오는게 더 빠르네요??
잘못생각한건가요??
 다음글 웹 개발자분들에게 여쭤보고 싶은게 있습니다 (3)
 이전글 chmod() 를 사용시 에러가 납니다; (3)

댓글

한대승(불의회상) / 2015/12/10 13:37:43 / 추천 0
쿼리를 실행 할 때마다 DBMS의 특성에 따라 다르긴 합니다만, DB 접속, 쿼리 전송, 구문 분석, 쿼리 최적화 등을 수행해야 합니다.
DBMS 내부적으로 최선의 성능을 내기 위해 쿼리 캐시등의 기술을 적용하지만, 여러개의 쿼리를 날리는 것 보다 하나의 쿼리로 여러개의 데이터를 묶어서 가져오는게 더 효율적인 경우가 많습니다.
변종원(웅파) / 2015/12/10 13:42:17 / 추천 0
상황에 따라 다릅니다.
원쿼리로 처리하던 것을 2개로 나눠서 php에서 합친게 빠른 것도 있고
여러개의 쿼리를 for문에서 돌려서 처리하던 것을 원쿼리로 만들었을때 빠른게 있구요.
설계에 따라 목적에 따라 다릅니다.

데이터가 없을때는 빠르다가(개발시) 데이터가 쌓이면 느려지는 쿼리도 있구요.