new.php 튜닝

불당   
   조회 13602   추천 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년전통 자동차실무교육, 최신장비실습장, 자격증취득, 해외견학, 취업 및 창업
암스오일한국공식수입원 머피아
AMSOIL한국공식수입원, 모터사이클, 와류흡배기, 멀티링크, 자동차부품제조
티지케이TGK 브레이크전문샵
당신의 순간을 지켜주는 브레이크, 전문가에게 맡겨주세요, 고성능 브레이크패드 제조
파워링크 AD   클릭초이스등록


제목Page 1/4
2016-08   23937   불당
2013-05   11521   불당
2010-06   10260   불당
2016-08   3045   불당
2016-08   3160   불당
2016-08   3032   불당
2016-08   23937   불당
2015-10   4350   불당
2014-02   7390   불당
2014-02   7425   불당
2014-02   7497   불당
2013-06   10022   불당
2013-05   11521   불당
2013-05   10996   불당
2013-01   13126   불당
2011-12   15432   불당
2011-12   11724   불당
2011-09   12845   불당
2011-09   11364   불당
2011-06   11480   불당
2011-01   10894   불당
2011-01   13603   불당
2011-01   14045   불당