Here is a useful MySQL command that shows (an approximation of) the amount of storage (disk and memory) consumed by each table in a MySQL database.
SELECT TABLE_NAME, TABLE_ROWS, DATA_LENGTH / (1024*1024), INDEX_LENGTH / (1024*1024), (DATA_LENGTH + INDEX_LENGTH) / (1024*1024) as total FROM information_schema.TABLES WHERE TABLE_SCHEMA = (SELECT DATABASE()) GROUP BY TABLE_NAME ORDER BY total;
Please bear in mind that the data returned will be an approximation, but should still show you a reasonable enough split which of your tables are consuming most of the resources.