get_results("show tables like '%$wpdb->prefix%'"); $count = count($tables); $i = 1; foreach ($tables as $table) { foreach ($table as $t) { if ($count == $i) { $optimizer .= $t; } else { $optimizer .= $t . ", "; } } $i++; } $optimize = $wpdb->get_row("OPTIMIZE TABLE ".$optimizer." "); $option_name = "wp_database_optimizer_last_date"; $value = date('Y/m/d'); $deprecated=' '; $autoload='no'; add_option($option_name, $value, $deprecated, $autoload); } function wp_database_optimizer_input_default_frequency() { $option_name = "wp_database_optimizer_freq"; $value = "7"; // Start with 7 Days $deprecated=' '; $autoload='no'; add_option($option_name, $value, $deprecated, $autoload); } register_activation_hook( __FILE__, 'wp_database_optimizer_input_todays_date' ); register_activation_hook( __FILE__, 'wp_database_optimizer_input_default_frequency' ); function wp_database_optimizer_deactivate_plugin () { delete_option('wp_database_optimizer_last_date'); delete_option('wp_database_optimizer_freq'); } register_deactivation_hook( __FILE__, 'wp_database_optimizer_deactivate_plugin' ); // THIS FUNCTION GENERATES THE SETTINGS PAGE UNDER THE "TOOLS" MENU function wp_database_optimizer_settings_page() { global $wpdb; ?>

WP Database Optimizer Options


How Often Do You Want the Optimizer to run? (in days)

Currently Set at 1) { echo "days"; } else { echo "day"; } ?>



Database Optimization Last Occurred on:


get_results("show tables like '%$wpdb->prefix%'"); echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; foreach ($tables as $table) { foreach ($table as $t) { $overhead = $wpdb->get_results("SHOW TABLE STATUS LIKE '%$t%'"); foreach ($overhead as $oh) { //print_r($oh); echo ''; echo ""; if ($oh->Data_free == '0') { echo ""; } else { echo ""; } echo ''; } } } echo ''; ?>

Looking to optimize now?

Make sure that you backup your database as necessary. i recommend WordPress Database Backupget_results("show tables like '%$wpdb->prefix%'"); $count = count($tables); $i = 1; foreach ($tables as $table) { foreach ($table as $t) { if ($count == $i) { $optimizer .= $t; } else { $optimizer .= $t . ", "; } } $i++; } $optimize = $wpdb->get_row("OPTIMIZE TABLE ".$optimizer." "); $option_name = "wp_database_optimizer_last_date"; $value = date('Y/m/d'); update_option($option_name, $value); header("Location: " . $_SERVER['PHP_SELF'] . "?page=wp-database-optimizer"); } function wp_database_optimizer_update_frequency() { $value = $_POST['optimize-frequency']; $option_name = 'wp_database_optimizer_freq' ; if ( get_option($option_name) != $value) { update_option($option_name, $value); } else { $deprecated=' '; $autoload='no'; add_option($option_name, $value, $deprecated, $autoload); } header("Location: " . $_SERVER['PHP_SELF'] . "?page=wp-database-optimizer"); } function wp_database_optimizer_check() { global $wpdb; $wp_database_optimizer_last_date = get_option('wp_database_optimizer_last_date'); $wp_database_optimizer_freq = get_option('wp_database_optimizer_freq'); $curr_date = strtotime(date('Y/m/d')); $freq_future_date = strtotime('+'.$wp_database_optimizer_freq.' day', strtotime($wp_database_optimizer_last_date)); if ($curr_date > $freq_future_date) { $tables = $wpdb->get_results("show tables like '%$wpdb->prefix%'"); $count = count($tables); $i = 1; foreach ($tables as $table) { foreach ($table as $t) { if ($count == $i) { $optimizer .= $t; } else { $optimizer .= $t . ", "; } } $i++; } $optimize = $wpdb->get_row("OPTIMIZE TABLE ".$optimizer." "); $option_name = "wp_database_optimizer_last_date"; $value = date('Y/m/d'); update_option($option_name, $value); } else { echo ""; // Do nothing as not enough time has passed } } function wp_database_optimizer_add_settings_page_to_menu() { add_management_page('WP Database Optimizer', 'WP Database Optimizer', 'manage_options', 'wp-database-optimizer', 'wp_database_optimizer_settings_page'); } add_action('admin_menu', 'wp_database_optimizer_add_settings_page_to_menu'); add_action( 'wp_head', 'wp_database_optimizer_check' ); ?>
Table NameOverhead
" . $oh->Name . "okay!" . number_format($oh->Data_free, 0) . " B