In audits of high-traffic sites, the biggest bottleneck is often a bloated database, rather than just the theme or images.
WordPress stores post revisions, spam comments, and transient data in SQL tables. Over time, these tables fragment and can slow down server requests. A database that has grown significantly due to bloat can increase Time to First Byte (TTFB).
The 'Bloat' Checklist
Post Revisions
WordPress saves every edit. 100 posts with 20 revisions each adds 2,000 unnecessary rows.
Spam Comments
Even if not published, thousands of spam entries slow down query execution times.
Expired Transients
Temporary cache data in the options table that was not properly deleted.
SQL Overhead
Data fragmentation that occurs when rows are deleted but space is not reclaimed.
Technical Implementation
1. Control Revision Bloat
Add this to your wp-config.php file. Limiting revisions at the source prevents the database from ballooning.
// Limit to 5 revisions to save database space define( 'WP_POST_REVISIONS', 5 );
2. SQL Pruning
Backup your database before running manual queries. Ensure your table prefix is correct.
A. Clean Revisions: This query clears revisions and associated metadata.
DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision';
B. Prune Expired Transients: Transients are stored in the options table and can often number in the thousands.
DELETE FROM wp_options WHERE option_name LIKE '_transient_%' OR option_name LIKE '_site_transient_%';
Impact
Technical Note
Database optimization is a part of infrastructure maintenance. A clean database correlates with better Core Web Vitals, which is an important signal for search and retrieval systems.