(취소) 코멘트가 많아서 너무 늦다? 그럼 튜닝을 해야지. ㅎㅎ

불당   
   조회 12708   추천 0    

phpmyadmin으로 보면 Sorting result 또는 Sending data에 꽤 오랫동안 머물러 있는 SQL 문장이 있는데
그게 어딘가 문득 궁금해졌습니다. 불당팩은 필요한 데이터를 골라서 가지고 오게 프로그램이 되어 있어서
해당 SQL에서 select 하는 데이터를 가지고 프로그램을 검색해보니, bbs/view_comment.php 입니다.
 
// 코멘트 출력
$select_sql = " wr_id, mb_id, wr_name, wr_parent, wr_option, wr_content, wr_trackback, wr_datetime, wr_ip, wr_comment, wr_comment_reply, wr_singo,
                wr_1, wr_2, wr_3, wr_4, wr_5, wr_6, wr_7, wr_8, wr_9, wr_10, wr_password ";
if ($board[bo_use_sideview]) {
    $select_sql .= " ,wr_email , wr_homepage ";
}
$sql = " select $select_sql from $write_table where wr_parent = '$wr_id' and wr_is_comment = 1 order by wr_comment, wr_comment_reply ";
$result = sql_query($sql);
 
별다른 것도 없는거 같은데, 이게 왜 느린 속도의 원인이 되었을까요????
빨간 글씨로 나타낸 것과 같이 order by 때문 입니다.
안그래도 많은 데이터를 가지고 와서 정렬하는 동안, 해당 테이블에는 Lock이 걸리게 됩니다.
 
여기서 지난번 게시판 검색의 종결자 코드에서 있었던, tmp table의 이슈를 다시 생각해 봅니다.
그냥 데이터를 tmp 테이블로 가지고 와서, tmp 테이블에서 정렬을 하면 어떤가 하는 것이죠.
그렇게 되면, 정렬을 하는 동안 (Sorting result) DB에 아무련 영향을 미치지 않을 수 있거든요.
 
이 방법의 장점은 코멘트가 많을 경우 효과적이라는 것이고,
단점은 모든 게시글 조회에 대해서 tmp 테이블을 만드는 것 입니다.
 
이런 경우에는 실환경에서 어느것이 더 효율적인지 실제 실행을 해보기 전에는 알수 없겠죠???
 
 
테스트 결과 : 너무 빈번한 tmp 테이블 생성은 오히려 속도에 더 문제를 일으킵니다.
코멘트 겟수를 게시글 DB에 넣고 있는 경우에는 100개 이상의 경우에만 tmp table을 쓰게
수정하면 효과가 있을 거 같습니다.
- opencode.co.kr -
(주)우방물류
전국지입정보,당사차주모집,대기업센타 배차.주5일근무.초보등승연수.전액할부가능
1톤지입 기사모집 드라이버잡
홈플러스 1톤차량 지입정보, 책임분양, 철저한 사후관리
나눔물류 지입사람들 운수법인
지입전문법인, 화물,승합 전차종보유, 신속한전국서비스, 물류정보제공, 24시간상담
파워링크 AD   클릭초이스등록


제목Page 1/4
2011-01   16009   불당
2008-04   14640   불당
2010-06   12162   불당
2016-08   5606   불당
2016-08   5549   불당
2016-08   5405   불당
2016-08   39457   불당
2015-10   6682   불당
2014-02   9699   불당
2014-02   9763   불당
2014-02   9884   불당
2013-06   12303   불당
2013-05   13781   불당
2013-05   12894   불당
2013-01   15246   불당
2011-12   17134   불당
2011-12   13376   불당
2011-09   14471   불당
2011-09   13058   불당
2011-06   13149   불당
2011-01   12709   불당
2011-01   15354   불당
2011-01   16009   불당