Skip to content

Instantly share code, notes, and snippets.

@mrpatrick
Created August 12, 2015 14:21
Show Gist options
  • Save mrpatrick/984decc898ed1acfa07e to your computer and use it in GitHub Desktop.
Save mrpatrick/984decc898ed1acfa07e to your computer and use it in GitHub Desktop.
Find the largest (byte size) 20 tables in GB in MySQL 5.x - taken from: https://www.percona.com/blog/2008/02/04/finding-out-largest-tables-on-mysql-server/
SELECT CONCAT(table_schema, '.', table_name),
CONCAT(ROUND(table_rows / 1000000, 2), 'M') rows,
CONCAT(ROUND(data_length / ( 1024 * 1024 * 1024 ), 2), 'G') DATA,
CONCAT(ROUND(index_length / ( 1024 * 1024 * 1024 ), 2), 'G') idx,
CONCAT(ROUND(( data_length + index_length ) / ( 1024 * 1024 * 1024 ), 2), 'G') total_size,
ROUND(index_length / data_length, 2) idxfrac
FROM information_schema.TABLES
ORDER BY data_length + index_length DESC
LIMIT 20;
@mrpatrick
Copy link
Author

Updated:

SELECT table_name "Table Name", table_rows "Rows Count", round(((data_length + index_length)/1024/1024),2) as megabytes FROM information_schema.TABLES WHERE table_schema = "app" order by megabytes asc;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment