Facendo uso de Database Transversal API é posible optimizar as táboas de MySQL dunha base de datos cun simple script.
O seguinte código amosa como percorrer nun bucle todas as táboas e executar a sentencia OPTIMIZE TABLE nome_taboa.
$conn = ADONewConnection('mysql');
$conn->PConnect('localhost', 'root', '', 'database');
// DatabaseIterator
$dbIt = new DatabaseIterator($conn);
// optimize all tables
foreach($dbIt as $table) {
$sql = "OPTIMIZE TABLE `{$table->name}`";
$table->db->conn->Execute($sql);
echo("\t$sql\n");
}
echo("All finished.\n\n");
Outros exemplos e documentación: