조회수별 글 가져오기를 적용하면 사이트가 넘 느려지는데요.
원글 : http://sir.co.kr/bbs/tb.php/g4_skin/81583/dadd4db214432a5370f81914891274ed
그동안 게시판 페이지로딩이 너무 오래걸려서 게시판 스킨의 view.tail.skin.php파일을 삭제해보니
게시판이 매우 빠르게 열립니다.
이 파일을 지우지않으면 1일동안 인기글이 제대로 노출이 되는반면 게시판 페이지로딩이
몇초씩 걸리는거 같고, 파일을 삭제하면 바로 바로 페이지가 열리는데, 인기글을 불러오질 못합니다.
view.tail.skin.php 소스입니다.
<?
// m3hit ver 1.00 카운트 올리기 by mahler83 2009-06-20
// 테이블 구조 (처음 1회 실행후 주석처리 하세요.)
sql_query("CREATE TABLE if not exists `m3hit` (
`date` DATE NOT NULL ,
`gr_id` CHAR( 30 ) NOT NULL ,
`bo_table` CHAR( 30 ) NOT NULL ,
`wr_id` INT NOT NULL ,
`hit` INT NOT NULL ,
`ip_list` TEXT NOT NULL)");
$date = $g4[time_ymd];
if($temp = sql_fetch("select ip_list from `m3hit` where date='$date' AND bo_table='$bo_table' AND wr_id='$wr_id'")) {
if(!strstr($temp[ip_list], "/".$_SERVER[REMOTE_ADDR]."/")) {
sql_query("update `m3hit` set hit = hit + 1, ip_list = CONCAT(ip_list, '{$_SERVER[REMOTE_ADDR]}', '/') where date='$date' AND bo_table='$bo_table' AND wr_id='$wr_id' LIMIT 1");
}
}
else {
sql_query("insert into `m3hit` set date='$date', gr_id='$board[gr_id]', bo_table='$bo_table', wr_id='$wr_id', hit='1', ip_list='/{$_SERVER[REMOTE_ADDR]}/'");
}
?>
위 소스에 페이지 열리는데 느리게 만드는 부분이 있나요? 이부분 수정을 어떻게 해야
느리지 않게 빨리 뜨는지 방법좀 알려주세요.
그동안 게시판 페이지로딩이 너무 오래걸려서 게시판 스킨의 view.tail.skin.php파일을 삭제해보니
게시판이 매우 빠르게 열립니다.
이 파일을 지우지않으면 1일동안 인기글이 제대로 노출이 되는반면 게시판 페이지로딩이
몇초씩 걸리는거 같고, 파일을 삭제하면 바로 바로 페이지가 열리는데, 인기글을 불러오질 못합니다.
view.tail.skin.php 소스입니다.
<?
// m3hit ver 1.00 카운트 올리기 by mahler83 2009-06-20
// 테이블 구조 (처음 1회 실행후 주석처리 하세요.)
sql_query("CREATE TABLE if not exists `m3hit` (
`date` DATE NOT NULL ,
`gr_id` CHAR( 30 ) NOT NULL ,
`bo_table` CHAR( 30 ) NOT NULL ,
`wr_id` INT NOT NULL ,
`hit` INT NOT NULL ,
`ip_list` TEXT NOT NULL)");
$date = $g4[time_ymd];
if($temp = sql_fetch("select ip_list from `m3hit` where date='$date' AND bo_table='$bo_table' AND wr_id='$wr_id'")) {
if(!strstr($temp[ip_list], "/".$_SERVER[REMOTE_ADDR]."/")) {
sql_query("update `m3hit` set hit = hit + 1, ip_list = CONCAT(ip_list, '{$_SERVER[REMOTE_ADDR]}', '/') where date='$date' AND bo_table='$bo_table' AND wr_id='$wr_id' LIMIT 1");
}
}
else {
sql_query("insert into `m3hit` set date='$date', gr_id='$board[gr_id]', bo_table='$bo_table', wr_id='$wr_id', hit='1', ip_list='/{$_SERVER[REMOTE_ADDR]}/'");
}
?>
위 소스에 페이지 열리는데 느리게 만드는 부분이 있나요? 이부분 수정을 어떻게 해야
느리지 않게 빨리 뜨는지 방법좀 알려주세요.
|
댓글을 작성하시려면 로그인이 필요합니다.
댓글 3개
sql_query("CREATE TABLE if not exists `m3hit` (
`date` DATE NOT NULL ,
`gr_id` CHAR( 30 ) NOT NULL ,
`bo_table` CHAR( 30 ) NOT NULL ,
`wr_id` INT NOT NULL ,
`hit` INT NOT NULL ,
`ip_list` TEXT NOT NULL)");
이 부분 삭제하시거나 주석 처리하시고,
위 테이블에 레코드 수가 많이 쌓였나 봅니다.
인덱스(date, bo_table, wr_id)로 인덱스하나 추가해 주세요.
근데 인덱스(date, bo_table, wr_id)로 인덱스하나 추가해 주세요.
이부분은 어떻게 하는건가요?
관리자 페이지에서 해당 m3hit 테이블 데이터를 삭제 하는걸 만들어 두면 가장 좋겠죠
이부분은 활용팁에서 캐쉬 삭제라던가 그런 부분을 참고해서 쉽게 가능하시구요.,
인덱스 부분은 phpmyadmin 을 통해 실행하시면 됩니다.
예를 들면 이런식이겠네요.
ALTER TABLE `m3hit` ADD INDEX `date` ( `date` , `bo_table` , `wr_id` );