Finding the largest MySQL tables
When dealing with large databases, it's helpful to see some statistics about your tables. This is found in the "information_schema" database, under the "TABLES" table. Here's a helpful query to find the size of all your tables in a particular database (the data size, index size, and total size), and sort by the total size.
CONCAT(ROUND(DATA_LENGTH / (1024 * 1024 * 1024), 2), ' GB') `data`,
CONCAT(ROUND(INDEX_LENGTH / (1024 * 1024 * 1024), 2), ' GB') `index`,
CONCAT(ROUND((DATA_LENGTH + INDEX_LENGTH) / (1024 * 1024 * 1024), 2), ' GB') `total`
WHERE TABLE_SCHEMA = 'my_database_name'
ORDER BY DATA_LENGTH + INDEX_LENGTH DESC
This was modified from this tip.