|
mysql单表最大记录数不能超过多少
其实mysql本身并没有对单表最大记录数进行限制,这个数值取决于你的操作系统对单个文件的限制本身。
从性能角度来讲,Mysql单表数据不要超过多少呢?
业界流传是500万行,超过500万行就要考虑分库分表了。
曾经在中国互联网技术圈广为流传着这么一个说法:Mysql单表数据量大于2000万行,性能会明显下降。事实上,这个传闻最早起大概是这样的,当年的DBA测试Mysql性能时发现,当单表的量在2000万行量级时,Sql操作的性能急剧下降,因此,结论由此传到业界的其他公司。所以就在业界流传开这么一个说法。
再后来,阿里巴巴《Java开发手册》提出单表行数超过500万行或者单表容量超过2GB,才推荐进行分库分表。
那么当单表容量超过500万行,查询效率下降后,我们可以如何应付呢?
有如下几种方式(来源于真实的企业):
- 对于使用不多的表(外部依赖少,信息不重要),可以直接清除老表,数据归档到hbase(或类似的,大容量成本低的冷库)
- 分库分表
- 老表保留,旧数据归档(参考第一点)
mysql单表存储数据量有上限吗
在mysql中,每个数据库最多可创建20亿个表,
一个表允许定义1024列,
每行的最大长度为8092字节(不包括文本和图像类型的长度)。
当表中定义有varchar、nvarchar或varbinary类型列时,如果向表中插入的数据行超过8092字节时将导致Transact-SQL语句失败,并产生错误信息。
SQL Server对每个表中行的数量没有直接限制,但它受数据库存储空间的限制。
每个数据库的最大空间1048516TB,所以一个表可用的最大空间为1048516TB减去数据库类系属统表和其它数据库对象所占用的空间。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
来源:https://www.jb51.net/article/275723.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|