무거운 쿼리, 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

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

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

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

cache 사용을 생각봐야죠.

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

$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`);

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

회원로그인

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