为什么能查询到的Mysql单个数据库剩余空间?

gbcbooks 2016-01-13 11:55:14
今天在操作mysql时有一个想法
就是:如何限每个库的大小呢,后来在百度搜结果,找到了一个比较有用的帖子
http://bbs.csdn.net/topics/390763667
总的来说,
---------------------------
Linux 2.2-Intel 32-bit 2GB (LFS: 4GB)
Linux 2.4+(using ext3 filesystem) 4TB
Solaris 9/10 16TB
NetWare w/NSS filesystem 8TB
win32 w/ FAT/FAT32 2GB/4GB
win32 w/ NTFS 2TB(可能更大)
MacOS X w/ HFS+ 2TB
--------------------------
mysql单个库是不有大小限制,也没办法从数据库层面去限制单个库的大小的,或者说磁盘的大小就是mysql所有库最大值,但可以从操作系统级别去限制文件的大小(quota),
mysql可以对:
账户每小时可以发出的查询数
账户每小时可以发出的更新数
账户每小时可以连接服务器的次数

除了以上找到的信息外,
我还百度了 "mysql 剩余空间" 关键字
也找到了一些结果和方法
如下:
1、数据库所占空间

SELECT CONCAT(TRUNCATE(SUM(data_length)/1024/1024,2),'MB') AS data_size,
CONCAT(TRUNCATE(SUM(max_data_length)/1024/1024,2),'MB') AS max_data_size,
CONCAT(TRUNCATE(SUM(data_free)/1024/1024,2),'MB') AS data_free,
CONCAT(TRUNCATE(SUM(index_length)/1024/1024,2),'MB') AS index_size
FROM information_schema.tables WHERE TABLE_SCHEMA = '数据库名';

2、表所占空间

SELECT CONCAT(TRUNCATE(SUM(data_length)/1024/1024,2),'MB') AS data_size,
CONCAT(TRUNCATE(SUM(max_data_length)/1024/1024,2),'MB') AS max_data_size,
CONCAT(TRUNCATE(SUM(data_free)/1024/1024,2),'MB') AS data_free,
CONCAT(TRUNCATE(SUM(index_length)/1024/1024,2),'MB') AS index_size
FROM information_schema.tables WHERE TABLE_NAME = '表名';

以上命令可以看到,我们是可以查询到单个数据库所用空间和所剩余空间,
那么简单推导一下,很容易想到,这两值相加是不是就是该库的最大空间呢?
但结全上面得到的信息以及数据库是会自动增加空间,那么这样的推导显然是不正确的.

这些数据是不准确的为什么会有这些统计?那里方面会用到?
查询到的剩余空间,具体是什么剩余空间?是不是这些剩余空间用完了,就自动增加一定量的空间给数据?
...全文
485 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
gbcbooks 2016-01-19
  • 打赏
  • 举报
回复
引用 1 楼 yupeigu 的回复:
sql server中也有很多计算已使用空间和剩余空间的方法,而且计算出来的数据不一定一样。但是总体上,还是能自圆其说的。 是这样的,总的空间,就是当前数据库的文件大小,而已用空间是指已经存储了数据的空间、删除数据之后的空间,而剩余空间一般是文件中的空间,但是这个空间还没有分配使用。 当往表里添加数据,而空间不够时,就把这部分空间分配给表使用,如果这些空间也用完了,就会自动增长空间
我现在用阿里云的RDS,除这我在一楼列出来的方法,还有其它方法可以查询或是推导出该MYSQL库的最大大小吗?
  • 打赏
  • 举报
回复
sql server中也有很多计算已使用空间和剩余空间的方法,而且计算出来的数据不一定一样。但是总体上,还是能自圆其说的。 是这样的,总的空间,就是当前数据库的文件大小,而已用空间是指已经存储了数据的空间、删除数据之后的空间,而剩余空间一般是文件中的空间,但是这个空间还没有分配使用。 当往表里添加数据,而空间不够时,就把这部分空间分配给表使用,如果这些空间也用完了,就会自动增长空间

56,677

社区成员

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

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