new.php 튜닝

불당   
   조회 14078   추천 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 -
한국오토모티브컬리지
51년전통 자동차실무교육, 최신장비실습장, 자격증취득, 해외견학, 취업 및 창업
독서와 무제한친해지리, 밀리
국내 최대 월정액 독서앱, 첫달 무료, 책 한권 가격으로 2만5천 권을 무제한으로
암스오일한국공식수입원 머피아
AMSOIL한국공식수입원, 모터사이클, 와류흡배기, 멀티링크, 자동차부품제조
파워링크 AD   클릭초이스등록


제목Page 1/4
2010-06   10718   불당
2010-04   11780   불당
2011-01   14710   불당
2016-08   3823   불당
2016-08   3912   불당
2016-08   3805   불당
2016-08   31303   불당
2015-10   5064   불당
2014-02   8067   불당
2014-02   8127   불당
2014-02   8154   불당
2013-06   10654   불당
2013-05   12219   불당
2013-05   11564   불당
2013-01   13737   불당
2011-12   15874   불당
2011-12   12180   불당
2011-09   13281   불당
2011-09   11833   불당
2011-06   11925   불당
2011-01   11411   불당
2011-01   14079   불당
2011-01   14710   불당