use information_schema
SELECT sum(DATA_LENGTH)+sum(INDEX_LENGTH) from tables where TABLE_SCHEMA='数据库名'
得到的结果是以字节为单位,除1024为K,除1048576为M。
information_schema是mysql的系统数据库,里面的tables表存储了所有数据库的信息;
当然如果有mysql可视化软件的话,可以直接打开information_schema的tables表查看。
还有,如果用的是innodb引擎的话数据库的默认大小不能超过4G
-- 1、进去指定schema 数据库(存放了其他的数据库的信息)use information_schema
-- 2、查询所有数据的大小
select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES
-- 3、查看指定数据库的大小
-- 比如说 数据库apoyl
select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES where table_schema='apoyl'
--4、查看指定数据库的表的大小
--比如说 数据库apoyl 中apoyl_test表
select concat(round(sum(DATA_LENGTH/1024/1024),2),'MB') as data from TABLES where table_schema='apoyl' and table_name='apoyl_test'
查询出当前用户的表所占用的空间大小,并按大小进行降序排列: Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name order by Sum(bytes)/1024/1024 desc查询出系统表空间的大小欢迎分享,转载请注明来源:内存溢出
评论列表(0条)