mysql 자동 최적화 > 그누보드5 팁자료실

그누보드5 팁자료실

mysql 자동 최적화 정보

mysql 자동 최적화

본문

저 같은 경우 포인트제 사이트를 운영하다보니

포인트 테이블만 해도 수기가 용량알 차지하더라구요.

그럴때마다 최적화 해주면 용량이 확 줄길래 이걸 자동화 할 수 있는 방법이 있나 찾아봤는데

균이님이 친절하게 답변해주셨네요.

 

다음 코드를 bbs/db_table.optimize.php 하단에 집어 넣으시면 됩니다.

 

*주의

저도 방금 적용했는지라 아직 어떤 부작용이 있나 확인이 어렵습니다. 그러니 백업 해두시고 사용하시길..

누군가 사이트에 접속하면 알아서 실행되기에 아마도 잠깐 느려질수도 있습니다. 

혹시 여기에 문제점이 있다면, 고수분들 답변좀 부탁드릴께요. 

(그누4에 있던 기능을 그누5에 괜히 뺐다고 생각되지는 않아서...) 

 

 

$sql = "SHOW TABLE STATUS FROM ".G5_MYSQL_DB;
$result = sql_query($sql);
while($row = sql_fetch_array($result))
{
    $str = '';

    $tbl = $row['Name'];

    $sql1 = " SELECT COUNT(*) FROM `$tbl` ";
    $result1 = sql_query($sql1);
    if (!$result1)
    {
        // 테이블 복구
        $sql2 = " REPAIR TABLE `$tbl` ";
        sql_query($sql2);
        $str .= $sql2 . "<br/>";
    }

    if($row['Data_free'] == 0) continue;

    // 테이블 최적화
    $sql3 = " OPTIMIZE TABLE `$tbl` ";
    sql_query($sql3);
    $str .= $sql3 . "<br/>";

    echo "<script>document.getElementById('ct').innerHTML += '$str';</script>\n";

    flush();
    /*
    for($i = 0; $i < 40 - strlen($tbl); $i ++) echo " ";
        echo "\t";
    for($i = 0; $i < 9 - strlen($row['Data_free']); $i ++) echo " ";
        echo $row['Data_free']." OPTIMIZED\n";
    */
}

 

추천
6

댓글 2개

전체 2,095 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIR SOFT