조회수별 글 가져오기를 적용하면 사이트가 넘 느려지는데요. 정보
조회수별 글 가져오기를 적용하면 사이트가 넘 느려지는데요.본문
원글 : 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]}/'");
}
?>
위 소스에 페이지 열리는데 느리게 만드는 부분이 있나요? 이부분 수정을 어떻게 해야
느리지 않게 빨리 뜨는지 방법좀 알려주세요.
댓글 전체
// 테이블 구조 (처음 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, bo_table, wr_id)로 인덱스하나 추가해 주세요.
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)로 인덱스하나 추가해 주세요.
이부분은 어떻게 하는건가요?
근데 인덱스(date, bo_table, wr_id)로 인덱스하나 추가해 주세요.
이부분은 어떻게 하는건가요?
일단 제일 좋은 방법은 m3hit 테이블의 데이터를 삭제 하는것이 가장 좋습니다.
관리자 페이지에서 해당 m3hit 테이블 데이터를 삭제 하는걸 만들어 두면 가장 좋겠죠
이부분은 활용팁에서 캐쉬 삭제라던가 그런 부분을 참고해서 쉽게 가능하시구요.,
인덱스 부분은 phpmyadmin 을 통해 실행하시면 됩니다.
예를 들면 이런식이겠네요.
ALTER TABLE `m3hit` ADD INDEX `date` ( `date` , `bo_table` , `wr_id` );
관리자 페이지에서 해당 m3hit 테이블 데이터를 삭제 하는걸 만들어 두면 가장 좋겠죠
이부분은 활용팁에서 캐쉬 삭제라던가 그런 부분을 참고해서 쉽게 가능하시구요.,
인덱스 부분은 phpmyadmin 을 통해 실행하시면 됩니다.
예를 들면 이런식이겠네요.
ALTER TABLE `m3hit` ADD INDEX `date` ( `date` , `bo_table` , `wr_id` );