IT码农库

您当前所在位置:首页 > 数据库 > Mysql

Mysql

Mysql中的单表最大记录是多少

[db:来源] 怎么又有bug单2023-02-18Mysql368
这篇文章主要介绍了Mysql中的单表最大记录是多少问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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减往数据库类系属统表和其它数据库对象所占用的空间。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

大图广告(830*140)