무거운 쿼리, ajax사용법

무거운 쿼리, ajax사용법

QA

무거운 쿼리, ajax사용법

본문

게시판 뷰 페이지 마다 해당 쿼리를 불려오려고하니, 딜레이가 어마어마합니다.

이에 해결 방법이 ajax를 사용하면 된다고 하는데...

 


                <?php

$sql = "
  select a.mb_id, b.as_photo, b.mb_nick, b.mb_email, b.mb_homepage, b.as_level
    from g5_point a left join g5_member b on (a.mb_id = b.mb_id)
   where a.po_rel_table = '{$bo_table}'
     and a.po_rel_id = '{$wr_id}'
     and a.po_rel_action = '열람'
   order by a.po_datetime desc
";
$result = sql_query($sql);
for ($i = 0; $row = sql_fetch_array($result); $i++) {
  
                    echo apms_sideview($row['mb_id'], get_text($row['mb_nick']), $row['mb_email'], $row['mb_homepage'], $row['as_level']);
}
    
    ?>

 

해당 소스를 ajax이용하려면 어떻게 하면 되는 건가요? 

 

이 질문에 댓글 쓰기 :

답변 3

$sql = "

~

";

echo $sql;

exit;

로 sql 문 추출 후 직접 실행하여 시간을 측정해보고, https://sir.kr/g5_tip/15716

해당 실행시간을 단축시키는 것이 좋습니다. 

 

다음의 SQL문 실행으로, 인덱스를 생성해주면 쿼리속도가 향상될 수도 있습니다.

 

ALTER TABLE `g5_point`
ADD INDEX `po_rel_table_po_id_po_rel_action` (`po_rel_table`, `po_id`, `po_rel_action`);

 

ALTER TABLE `g5_point`
ADD INDEX `po_datetime` (`po_datetime`);

저걸  ajax 바꾸다고해도 시간은 비슨합니다 다른 방법을 생각 해보세요

우선은 인덱스를 적절하게 사용하는지 분석해 봐야겠군요.

그럼에도 시간이 많이 걸린다면

cache 사용을 생각봐야죠.

mysql 버전 올리는 것도 방법입니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 210
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT