Saturday, August 13, 2011

Tek query ile db deki tüm tablo boyutlarını gösterir

Mysql administrator tool ile catolog load ettikten sonra alttaki işlem ile tüm catalog altı tabloları bana göstermesi 70 gb total tutan bir db için 15 dakikadan fazla sürüyor. Aşağıdaki komut ile bu işlemi 100gb lik bir dbde 4 - 5 dakikada nfs ile alınmış bir sql data alanından dahi olsa tamamlıyor. 10 dakika uzun bir zaman.

select table_schema, table_name, concat( round( data_length / ( 1024 *1024 ) , 2 ) , 'Mb' ) data_length_mb, concat( round( index_length / ( 1024 *1024 ) , 2 ) , 'Mb' ) index_length_mb, concat( round( round( data_length + index_length ) / ( 1024 *1024 ) , 2 ) , 'Mb' ) total_size_mb from information_schema.tables where table_schema like 'DBNAME' order by data_length desc;

No comments:

Post a Comment