--------------
mysql的上限不是单纯的根据内容的大小决定的。跟数据的条数也有关系。
可以把mysql理解成一个服务器。处理数据的通道的流量有限。(这段瞎编的)
MySQL本身并没有对单表最大记录数进行限制,这个数值取决于你的操作系统对单个文件的限制本身。业界流传是500万行。超过500万行就要考虑分表分库了。阿里巴巴《Java 开发手册》提出单表行数超过 500 万行或者单表容量超过 2GB,才推荐进行分库分表。
在操作系统层面,mysql会提前加载索引到内存中,当一张表的索引太长的时候,内存不够就会进行磁盘io,这将极大的限制整个数据库的速度。
可以通过增加内存,来解决一部分问题。或者建立新表。
总结:mysql单表上限:500万行。
------------