코멘트 보기의 sideview 정보는 얼마나 효율적인가요? 문득 생각이 들었습니다.
/bbs/view_comment.php를 보니, 모든 코멘트에 대해서 sideview 정보를 만들어
줍니다. 한사람에 코멘트를 100개 달았다면 같은 sideview를 100번 만드는 것이죠.
sideview를 만들려면 아이콘 이미지를 가지고 오기 때문에 file_exist를 수행하게
됩니다. 위의 경우 한 사람의 아이콘을 가지고 오려고 99번의 추가삽질을 하는거죠.
file_exist가 99번 추가 수행되면 서버의 hdd가 무지하게 많이 피곤하겠죠??? ㅎㅎ
/bbs/view_comment.php의 앞부분에 변수를 선언하고
// 불당팩 - sideview 튜닝
$sideview = array();
sideview 가져오는 쪽에서 저장된게 있나 먼저 확인을 합니다.
if ($board[bo_use_sideview])
{
// 저장된 sideview가 있으면 저장된 sideview를 사용
if ($sideview[$row[mb_id]])
$list[$i][name] = $sideview[$row[mb_id]];
else {
// 글쓴이의 개인정보가 바뀐 시점 이후에 쓰여진 글이라면 개인정보를 다시 가져올 필요가 없지만
// 언제 글쓴이의 정보가 바뀌었는지, 데이터를 가지고 오려면 SQL Query를 해야지 해서 그냥 엎어 써 버립니다.
$mb = get_member($row['mb_id'], "mb_email, mb_homepage");
$row[wr_email] = $mb[mb_email];
$row[wr_homepage] = $mb[mb_homepage];
$list[$i][name] = get_sideview($row[mb_id], $tmp_name, $row[wr_email], $row[wr_homepage]);
$sideview[$row[mb_id]] = $list[$i][name];
}
}
else
$list[$i][name] = "<span class='".($row[mb_id]?'member':'guest')."'>$tmp_name</span>";
|