This handy plugin will delete all of those unused WordPress database tables which have been left behind from uninstalled plugins. Don't worry about deleting the wrong tables because WPDBSpringClean will NOT delete any core WordPress tables or tables which are associated with an installed plugin (whether it is ACTIVE or INACTIVE).
Due to regular insertions and deletions in the various DB tables on your system, these tables can quite often hold allocated but unused space. Consequently this can make your DB tables inefficient, fragmented and unoptimized. This plugin will identify unoptimized tables and will allow you to optimize them by deleting the allocated unused space within a particular table. The plugin also optionally allows you to specify search criteria such as the minimum amount of overhead per table and minimum unused space for a table.
By default if no search criteria is specified, the plugin will identify all tables which have an overhead of greater than 10%. (Note: "Overhead" in this plugin is defined as (Data_free/Data_length) expressed as a percentage and where Data_free and Data_length are MySQL table parameters.
So why not give your WordPress DB a spring clean today!
Attention Multi-Site users: Currently WPDBSpringClean is only supported for single site WordPress installations. Support for multi-site is definitely on our to-do list so please stay tuned.
FTP the WPDBSpringClean folder to the /wp-content/plugins/ directory, OR, alternatively, upload the WPDBSpringClean.zip file from the Plugins->Add New page in the WordPress administration panel.
Activate the WPDBSpringClean plugin through the 'Plugins' menu in the WordPress administration panel.
You will then be taken to the WPDBSpringClean admin page which looks like the following: To start a search for any remaining unused tables from plugins which were uninstalled, click on the "Perform Search" button.
To delete a single table, simply click on the "Delete" link. Or alternatively to bulk delete tables, select the entries you wish to delete by using the checkboxes and then select the "Delete" entry in the "Bulk Actions" drop down box and click the "Apply" button.
NOTE: If you are unsure about deleting any DB tables, it recommended that users of this plugin should take a backup of their DB before using it.
Click on the DB Table Optimize tab.
Then enter the optional search criteria and click the Perform Search button. This plugin gives you the option of specifying the minimum overhead per table you wish to search for and also the amount of unused space.
Select the tables you wish to optimize and then click the "Optimize" button.
I keep getting 500 internal Server Error whenever i run a search. I appears to timeout. I am on a VPS IIS server with WP version 4.2.2. Any update for that version of WP planned in the near future?
Is this compatible for MU, I am using latest version of WP.
When I ran the plugin, it returned a list of 38 lines w/o any table info (blank lines) — just a checkbox, "Delete" — nothing else.
I uploaded, activated wpdbspringclean and it deleted most of my website plus the plugin section on the dashboard. I can nolonger get to the plugin section or restore it from the backup. Most of the plugins are now missing too. How can I restore my website to its original state?
The plugin does tell you to take a DB backup before doing anything. Did you do that?
If so you can always restore that backup file.
Hi … running it on WP 3.9.1 …and the search just keeps on running…no results… – what can I do to perform a search?
Is there some compatibility issue you are seeing in particular?
I have a old website with 0ver 1700 pages and have installed/uninstalled many plugins over the years, I have manually removed tables where the table names made it obvious which plugin they belong to, but I now have a list of tables that I cannot tie into a plugin – WPDBSpringClean Plugin sounds like the ideal tool to help me so please, if you can, when you ca, make a multi-site version available to us.
One question what criteria do you use to work out if a table is unused?
Sorry for late response – I have seemed to miss this comment somehow.
The plugin will do a series of string matching in order to determine if a table is used by a plugin or not.
I run WPDBSpringClean on a large database (1GO, 98 tables) and I get a timeout message : Fatal error: Maximum execution time of 120 seconds exceeded….
The above will set the maximum execution time of each script to 360 seconds.
If you don't have access to the php.ini file ask your host provider to do it for you.
inept website builders, I have to rely on "plugins" to do the work I don't know how to do.
You can trust me when I say, there are NOT many plugins that actually DO what they say they will. But WPDBSpringClean DID!
Any update about the Multisite support?
Been very busy lately and haven't had a chance to sit down and work on this yet….but it is on my TODO list.
I will add multi site support for this plugin soon.
I have tested with over 50 plugins on one of my test sites and the maximum processing time is no more than a minute and a half at worst.
One thing which stands out from the info you gave me is the "Memory limit : 90 MByte" setting of your host.
Mine is set to 512MB and hence I think yours might be a little low. Can you try increasing your memory limit to see if this fixes the issue?
Love your work period. Have no complaints at all. Recently I got this error message when using the DBSpringClean plugin. Now I realize it's a possible conflict with one of my plugins. But before I did anything at all I wanted to let you look at the error code I get and so you can hopefully provide some insight.
Regarding the "Internal Server Error" …..this can be caused by a variety of things.
For instance one reason might be that there is probably some sort of configuration issue with your .htaccess file.
What is the scenario which causes this error? Does it happen when the WPDBSpringClean plugin is being used in particular?
Hello, I am using digishop wordpress plugin and the plugin WPDBspringclean show wp_digishop_products is NOT using, and is wrong, and I using digishop then the table is active!!
I'll take a look at it and see if can figure out what's going on.
Can you please advise why this would happen?
Which hosting provider are you using to host your wordpress site? Some of the cheaper providers may have memory problems.
How many plugins have you got on your wordpress system – both active and inactive?
+1 for multisite support! Great contribution here. Thanks!
The plugin you mention deals only with the wp_options table (which is a core wordpress table) that some plugins use to store various configuration and other information.
The WPDBSpringClean plugin identifies and enables deletion of "custom" tables which are separate from the core WordPress tables.
I'm hoping to add Multi-Site support soon.
I've been looking for a plugin which does this sort of thing for ages.