如何查看mysql数据库所占的空间

vinsonshen 2009-07-07 04:44:32
如果基于myisam引擎下时,可以看系统数据库文件夹的大小;但如果是innodb时呢,该怎么查呢?有没有什么直接的命令呢?
不会把所有表利用show table status一个个加起来吧?
...全文
950 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2009-07-08
  • 打赏
  • 举报
回复

很显然,MYSQL中innodb你可以认为只有一个tablespace 虽然这个tablespace 可以由多个文件组成。

毕竟ORACLE的存储引擎是要花钱的,而innodb是free的。否则我们还需要 Oracle 做什么呢?
vinsonshen 2009-07-08
  • 打赏
  • 举报
回复
呵,最起码,在oracle里面,如果定义一个或多个表空间只给某个应用的数据用,如果系统有几个应用,那就很容易知道每个应用的数据空间了(根据表空间系统视图),仔细想一下,这样就有点类似一个数据库的性质了。
而这点在mysql里面是区分不了的(在innodb引擎下)。
在mssql里面,就知道有每个库的数据文件系统表,我觉得在oracle里,如果严格区分了应用及其对应的表空间,则也类似mssql这种分库分数据文件的性质了。
ACMAIN_CHM 2009-07-08
  • 打赏
  • 举报
回复

innodb 根本就没有什么数据库文件夹大小的概念,innodb有些类似于 oracle 的 tablespace概念,所以谈不上什么数据库文件夹大小。
vinsonshen 2009-07-08
  • 打赏
  • 举报
回复
呵呵,看来mysql以后要应该提供个数据文件的系统视图咯
zhaojunsc 2009-07-07
  • 打赏
  • 举报
回复
直接看不就可以吗
ACMAIN_CHM 2009-07-07
  • 打赏
  • 举报
回复

没什么好办法,的确是一个一个加起来。

select sum(`DATA_LENGTH`)
from information_schema.`TABLES`
where `TABLE_SCHEMA`='mydatabase';


vinsonshen 2009-07-07
  • 打赏
  • 举报
回复
我要查某个数据库所占的空间,而且是innodb引擎的,不是myisam的。
sciland 2009-07-07
  • 打赏
  • 举报
回复
直接到存放数据库文件中看不就好了吗?
vinsonshen 2009-07-07
  • 打赏
  • 举报
回复
呵,没人知道吗?
是不是嫌分少了?
真的不好意思啊,实在太穷了
哪位好心的话,给偶赞助点,那肯定是热烈欢迎的 :)

56,678

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧