MYSQLのテーブル最適化をPHPから自動でプギャーッ!
WFSの話。
週間記録的なレコードをCRONで毎週削除する用にしているのだが、数万件を一気に削除するのでフリー領域というかオーバーヘッドががっつり出来てしまっていた。
で、削除バッチのあとに最適化することにした。
だいたいこんなかんじ。
//データベースに接続しておく
(略)
//テーブルの最適化を実施
$query = “show table status where Data_free > 0”;
$result = mysql_query( $query );
if($result){
if( mysql_num_rows( $result ) ){
while( $ary= mysql_fetch_array( $result ) ){
if( $strTables ){
$strTables .= “,”;
}
$strTables .= $ary[Name];
}
$query = “OPTIMIZE TABLE {$strTables}”;
$result = mysql_query( $query );
if($result){
print “table optimizes {$strTables}”;
}
}
}
ではまた。
2011年4月9日 in
製造開発作業の話