묻고답하기

최근 게시물 위젯을 사용하다가 속도 저하의 원인을 하나 찾아냈습니다. (최근 댓글 위젯 포함)

 

최근 게시물 위젯에 하나의 모듈에서만 데이터를 가져온다던가, 전체 모듈을 대상으로 데이터를 가져오는데는 별 문제가 없습니다만... 여러개의 게시판을 대상으로 데이터를 가져오는 경우 속도 저하가 발생합니다.

 

최근 게시물 위젯의 쿼리는

select   *    from  xe_documents  where  module_srl  in  (1,2,3,4,5,6,7,8,9,10)    order by  list_order  asc   limit  20

과 같은 형식입니다.

 

이때 전체 모듈일 경우 where 절이 빠지므로 속도에 별 문제가 없으며 모듈의 수가 몇개 안될때도 별 문제가 없습니다.

 

현재 80개의 모듈 중 70개 정도의 모듈에서 게시물을 가져오는 방식으로 위젯 작업을 하였습니다. (전체 게시판의 최근 게시물을 하나의 위젯에서 표시) 쿼리 속도를 보니 약 8초가 걸리네요.

order by 가 빠지던가 where 가 빠지던가 둘중에 하나만 없어도 괜찮은데요.

 

현재는 전체 모듈에서 데이터를 가져오고 하드 코딩으로  if($module_srl != 1)  이라는 식으로 표시하지않을 모듈 번호만 if문으로 처리해서 출력하니 1초만에 페이지가 표시 되네요..

 

어제 제가 올린 XE 속도 관련 글이 있었는데요 우선 Zero님의 댓글 감사드리며 앞으로 더욱 빠른 XE 기대하겠습니다.

그리고 이런 쿼리문에서의 속도 저하 문제도 많은 관심 부탁드립니다.

php든 sql 이든 제대로 할줄 아는게 없어서 핵심적인 문제 해결을 할 수 없어서 아쉽네요 ㅠ.ㅠ

태그 연관 글
  1. [2016/08/17] 묻고답하기 사이트 접속 속도 문제 by deok *2
  2. [2016/04/26] 묻고답하기 회원가입(휴대폰인증모듈)페이지 속도 문제.. by deok *3
  3. [2016/03/28] 묻고답하기 이미 작성한 게시판 글들의 분류(카테고리) 일괄 업데이트 by Dorky *4
  4. [2014/12/20] 포럼 개인웹서버운영시 용량과 속도를 동시에 잡는법 by 가을풍경
  5. [2014/11/04] 묻고답하기 sql 백업 후 복구하였는데, 관리자로 로그인이 안 돼요 by 지구인주노 *2