테이블 구조에서 깨진 테이블이 있다면, 테이블을 고치는 기능을 합니다. MyISAM 과 ARCHIVE, CSV 테이블에서 유효한 동작을 합니다.

#ex.1)
 mysql> REPAIR TABLE tb_name;

#ex.2)
 <?php 
 $sql = mysql_query("SHOW DATABASES"); 

 while($db = mysql_fetch_row($sql)){ 
    $db_tmp = mysql_query("SHOW TABLE STATUS FROM ".$db[0]); 
    while($tmp_sql = mysql_fetch_array($db_tmp)){ 

        // 깨진 테이블이 있다면 테이블을 복구합니다. 
        mysql_query("REPAIR TABLE `".$tmp_sql['Name']."` "); 
        $item .= "REPAIR TABLE `".$tmp_sql['Name']."`\n"; 
         
        if($tmp_sql['Data_free'] == 0){ 
            continue; 
        } 
         
        // 데이터 파일을 재조합하거나 사용하지 않는 공간을 재사용합니다. 
        mysql_query("OPTIMIZE TABLE ".$tmp_sql['Name']); 
         
        ECHO "TABLE Name: ".$tmp_sql['Name'].'\n'; 
        ECHO $tmp_sql['Data_free']." OPTIMIZED \n"; 
    } 
 }
 ?>

0 댓글