new.php 튜닝

불당   
   조회 15562   추천 0    

new.php (4.4K), Down : 34, 2011-01

bbs/new.php는 3개의 테이블을 join해서 정보를 가져 옵니다.
 
g4_borad_new, g4_board, g4_group.
 
join을 하는 것은 상당한 시스템에 부하를 주고 cache도 되지 않기 때문에
bbs/new.php를 실행할때마다 시스템은 허걱~허걱~ 거리고 있습니다.
 
여기서 가장 쉬운 g4_group을 보겠습니다.
이걸 왜 join 할까요?
한번에 정보를 다 가저오려구 그런거죠. 편해보려고.
그런데, SQL을 따로 한번 더 실행하면 어떻게 될까요???
굳이 join 할 필요도 없고, group 정보는 SQL에 의해 cache되어 서비스 됩니다.
실제 더 빠른 결과가 가능하게 되는거죠.
 
new.php에서 c.* 에 해당하는 코드를 모두 없애고,
최신글을 찾아내는 loop에 아래의 코드를 더하면 됩니다.
 
    $gr_info = get_group($row[gr_id], "gr_subject");
    $row[gr_subject] = $gr_info[gr_subject];
그러면, g4_board의 경우는 어떻게 사용되고 있을까요???
아래와 같이 그룹별 게시판을 골라 내는 목적으로 사용이 되고 있습니다.
따라서, join을 없애는 것이 오히려 더 부적절할 수 있습니다.
 
if ($gr_id)
    $sql_common .= " and b.gr_id = '$gr_id' ";
 
new.php에서는 g4_group만 join에서 제외 합니다.
 
영향이 작아보이지만, 3개의 테이블 join과 2개의 테이블 join의 차이는 큽니다.
- opencode.co.kr -


제목Page 1/4
2010-04   13610   불당
2010-06   12389   불당
2013-05   14022   불당
2016-08   5902   불당
2016-08   5803   불당
2016-08   5655   불당
2016-08   40836   불당
2015-10   6927   불당
2014-02   10000   불당
2014-02   10037   불당
2014-02   10217   불당
2013-06   12547   불당
2013-05   14022   불당
2013-05   13111   불당
2013-01   15441   불당
2011-12   17365   불당
2011-12   13595   불당
2011-09   14665   불당
2011-09   13258   불당
2011-06   13353   불당
2011-01   12894   불당
2011-01   15563   불당
2011-01   16216   불당