作者:莫韵
经常会遇到DB满的情况 特别是大家共用DB的时候 这时候需要找到,哪个DB比较大,哪个表比较大,默认的方法你得一个一个的查询, 毕竟这里你没法使用 du -sh 这种文件系统级别的命令 但这肯定不是偷懒程序员爱干的事。
原理很简单: MySQL在系统库中记录了这些数据,只需要使用一条SQL命令组合起来就好
| TABLE_SCHEMA | varchar(64) | NO | | | |
数据库的名字
| TABLE_NAME | varchar(64) | NO | | | |
表名
| DATA_LENGTH | bigint(21) unsigned | YES | | NULL | |
数据空间大小
| INDEX_LENGTH | bigint(21) unsigned | YES | | NULL | |
数据索引大小
详细表结构见下面
查询所有数据库占用磁盘空间大小的SQL语句:
查询单个库中所有表磁盘占用大小的SQL语句:(注意替换TestDB,为你要查询的DB_NAME)
是不是很简单,一条SQL查询你要的数据,再也不担心某人偷偷用我的数据库!
领取专属 10元无门槛券
私享最新 技术干货