인기 검색어 테이블 재구성

불당   
   조회 11123   추천 0     비추천 0    

검색할 때마다, g4_popular 테이블에 넣고,
그것을 이용해서 인기도 등을 계산하는데 이게 엄청나게 부담을 주는 상황입니다.
매일 들어오는 것을 summary 해서 넣으면 레코드 갯수도 줄어들고 시스템도 편안해 집니다.
어제 g4_popular 테이블을 작업하다가 시스템 3-4번 정지 시킨 이후에 느낀 겁니다.
 
*** 이것은 불당팩용으로 확장된 인기 검색에 기능을 기반으로 하는 것 입니다 ***
 
CREATE TABLE IF NOT EXISTS `g4_popular_sum` (
  `pp_id` int(11) NOT NULL AUTO_INCREMENT,
  `pp_word` varchar(255) NOT NULL,
  `pp_date` date NOT NULL,
  `pp_count` int(11) NOT NULL,
  `pp_level` tinyint(4) NOT NULL,
  `bo_table` varchar(255) NOT NULL,
  PRIMARY KEY (`pp_id`),
  KEY `pp_index` (`pp_word`,`pp_date`),
  KEY `pp_level` (`pp_level`),
  KEY `bo_table` (`bo_table`)
)
 
config.php에 테이블 정의를 추가
 
$g4['popular_sum_table']    = $g4['table_prefix'] . "popular_sum";        // 인기검색어 합계 테이블
 
lib/common.lib.php, bbs/sarch.php의 get_sql_search 함수에서 인기검색어 insert 하는거 밑에 이거 추가
 
        $pp_id = mysql_insert_id();
       
        // 인기검색어 sum - 신규로 들어갈 때만, 안들어가면? 그냥 지나가야 되는거야. ㅎㅎ
        if ($pp_id) {
            // 게시판이 있는 경우
            if ($bo_table)
                $bo_sql = " and bo_table='$bo_table' ";
            else
                $bo_sql = " and bo_table='' ";
            // 일단 sum 테이블을 업데이트 하고
            $sql = " update $g4[popular_sum_table] set pp_count=pp_count+1 where pp_date='$g4[time_ymd]' and pp_word='$search_str' $bo_sql ";
            sql_query($sql, FALSE);
            // sum 테이블이 없으면 insert를 하면 되거든.
            if ( $pp_id && mysql_affected_rows() == 0 ) {
                $sql = " insert into $g4[popular_sum_table] set pp_word = '$search_str', pp_date = '$g4[time_ymd]', bo_table='$bo_table', pp_count='1' ";
                sql_query($sql, FALSE);
            }
            // 담에는 검색결과 필터링을 위한 레벨을 넣어주는거야.
            $sql3 = " select pp_level from $g4[filter_table] where pp_word = '$search_str' ";
            $result3 = sql_fetch($sql3);
            if ($result3) {
                $sql4 = " update  $g4[popular_sum_table] set pp_level=$result3[pp_level] where pp_date='$g4[time_ymd]' and pp_word='$search_str' $bo_sql ";
                sql_query($sql4);
            }
        }
 
 
 lib/popular.lib.php를 바꿔 줍니다.
 
 
 
- opencode.co.kr -


제목Page 11/28
2011-10   12915   불당
2011-09   11103   불당
2011-09   14385   불당
2011-09   13913   불당
2011-09   10853   불당
2012-04   11653   불당
2011-09   11124   불당
2011-09   13394   불당
2011-09   11819   불당
2011-09   14516   불당
2011-09   19221   불당
2011-08   27561   불당
2011-08   11668   불당
2011-08   12890   불당
2011-08   14627   불당
2011-07   11923   불당
2011-07   12630   불당
2011-07   13741   불당
2011-07   15527   불당
2011-07   14603   테스터