WordPress Snippet: Datenbank optimieren

Erinnert ihr euch noch an Sergej Müller? Sergej Müller war einer der genialsten Köpfe in der WordPress Szene. Er ist verantwortlich für Plugins wie Statify oder auch Antispam Bee. Nach seinem Abschied von WordPress wurden diese Plugins vom Pluginkollektiv übernommen. Noch heute zählen diese Plugins zum Besten was WordPress zu bieten hat.

Leider, leider hat dieses PluginKollektiv nicht alle Plugins von Müller übernommen. So fehlt in deren Liste unter Anderem das Plugin Toolbox. Toolbox war ein Plugin das alle möglichen Codeschnipsel aufgenommen hat. Es hat damit die functions.php des Child Themes entlastet. Das Pluginkollektiv kümmert sich war nicht mehr um diese Toolbox, doch bei GitHub ist sie noch zu finden. Ich will jetzt diese Toolbox hier nicht installieren aber auf ein darin enthaltenes Codeschnipsel hinweisen.

/**
 * Optimierung der Datenbanktabellen
 * Tägliche Anwendung des MySQL-Befehls OPTIMIZE TABLE auf Tabellen. 
 * Author: Sergej Müller
 */

function optimize_db_tables() {
  global $wpdb;
  
  $tables = $wpdb->tables();
  foreach ( $tables as $table ) {
    $wpdb->query( "OPTIMIZE TABLE `$table`" );
  }
}

if ( is_admin() ) {
  if ( ! get_transient( 'optimized_db_timer' ) ) {
    set_transient( 'optimized_db_timer', 'optimize_sql_db', 60 * 60 * 24 );
    add_action( 'admin_init', 'optimize_db_tables' );
  }
}

Ich habe schon länger nach einer Möglichkeit gesucht die SQL-DB auf einfache Art und Weise und ohne ein Plugin zu installieren zu optimieren. Obige Zeilen aus Sergej Müllers Toolbox erledigen das täglich mit Hilfe des MySQL-Befehls „OPTIMIZE TABLE“.