PR

[MySQL] テーブルの最適化

テーブルの最適化はデフラグのようなもの。オーバーヘッドが発生するなど動作が遅くなったときに実行すると解消できる。

OPTIMIZE TABLE `テーブル名`

実行すると以下のステータスを得ることができる(例):

  • Table : テーブル名
  • Op : optimize
  • Msg_type : status
  • Msg_text : OK

スポンサードリンク

TripletaiLでの例

sub optimize{
	my $DB = $TL->getDB('DB');
	my $t = $TL->newTemplate('db_maintenance_result.html');
	my $array_ref = &DBUtil::getTableList; #テーブルリストの取得
	foreach my $i (@$array_ref){
		my $result = &DBUtil::optimizeTable($i->[0]);
		$t->node('row')->add(
			Table => $result->{Table},
			Msg_type=> $result->{Msg_type},
			Msg_text=> $result->{Msg_text},
			Op  => $result->{Op},
		);
	}
	$t->flush;
}

コメント