mysql单表最大记录数不能超过多少?
其实mysql本身并没有对单表最大记录数进行限制,这个数值取决于你的操作系统对单个文件的限制本身。
从性能角度来讲,Mysql单表数据不要超过多少呢?
业界流传是500万行,超过500万行就要考虑分库分表了。

曾经在中国互联网技术圈广为流传着这么一个说法:Mysql单表数据量大于2000万行,性能会明显下降。事实上,这个传闻最早起大概是这样的,当年的DBA测试Mysql性能时发现,当单表的量在2000万行量级时,Sql操作的性能急剧下降,因此,结论由此传到业界的其他公司。所以就在业界流传开这么一个说法。

再后来,阿里巴巴《Java开发手册》提出单表行数超过500万行或者单表容量超过2GB,才推荐进行分库分表。

那么当单表容量超过500万行,查询效率下降后,我们可以如何应付呢?

有如下几种方式(来源于真实的企业):

  1. 对于使用不多的表(外部依赖少,信息不重要),可以直接清除老表,数据归档到hbase(或类似的,大容量成本低的冷库)
  2. 分库分表
  3. 老表保留,旧数据归档(参考第一点)
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐