很多情况下我们都需要知道数据库所占磁盘空间以及各个表所占的磁盘空间大小,以便我们能够对数据库做到心中有数,那么问题来了,如何查询数据库及各个表所占的空间大小呢?其实很简单,只要用几行SQL语句可以实现啦!来直接看代码吧!
首先查询所有数据库占用磁盘空间大小的SQL语句如下:
select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as data_size, concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_size from information_schema.tables group by TABLE_SCHEMA order by data_length desc;
然后是查询单个数据库里面各个表所占磁盘空间大小包括其索引的大小,SQL语句如下:
</pre><pre name="code" class="sql">select TABLE_NAME, concat(truncate(data_length/1024/1024,2),' MB') as data_size, concat(truncate(index_length/1024/1024,2),' MB') as index_size from information_schema.tables where TABLE_SCHEMA = 'TestDB' group by TABLE_NAME order by data_length desc;
注意将SQL语句中的TestDB换成你自己的数据库名称即可!
赶快试试吧!