你接触到的最大的mysql数据库表是多大?(行记录数大概是什么量级的?)

你接触到的最大的mysql数据库表是多大?(行记录数大概是什么量级的?),第1张

查看所有数据库容量大小

select

table_schema as '数据库',

sum(table_rows) as '记录数',

sum(truncate(data_length/1024/1024, 2)) as '数据容量(MB)',

sum(truncate(index_length/1024/1024, 2)) as '索引容量(MB)'

from information_schema.tables

group by table_schemaorder by sum(data_length) desc, sum(index_length) desc

MySQL 3.22 限制的表大小为4GB。由于在MySQL 3.23 中使用了MyISAM

存储引擎,最大表尺寸增加到了65536TB(2567 –

1字节)。由于允许的表尺寸更大,MySQL数据库的最大有效表尺寸通常是由 *** 作系统对文件大小的限制决定的,而不是由MySQL内部限制决定的。

InnoDB 存储引擎将InnoDB 表保存在一个表空间内,该表空间可由数个文件创建。这样,表的大小就能超过单独文件的最大容量。表空间可包括原始磁盘分区,从而使得很大的表成为可能。表空间的最大容量为64TB。

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

有两个数据库文件太大,分别超过12G 和 6G,快把分区挤满,无法进行数据备份和更新了,需要清一下表的内容。

一个数据库,有几十个表,不可能一个个地去count的,请问在查询分析器中,如何快速地找到数据量最大的几个表?

另外,如果我用truncate table命令,那么索引文件也会相应地缩小吗?

谢谢!

解析:

sql的每一个数据库中有一个名名为’sysobjects’的表,这个系统表中储存了当前数据库中所有对象(包括系统表,用户表、日志、存储过程)的信息,可以用这个表链获取数据库中表的数目和名称,之后向获得某个制定数据库的信息,可以使用带参数的 sp_helpbd过程

我想不管是什么db总是有相应的业务逻辑的,最大的那几个表,一定有她的特殊 的业务逻辑,从表名上应该能判断出来,一般存图片,歌曲或者其他资料的表象对比较大,但是存用户名 以及关联表 ,一般都不会太大,

关于数据库更新,如果是xp或者me 以上的系统看看先把系统还原暂时停止,这样可以节省出来一些空间,或者在挂一块硬盘看看


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9985063.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存