mysql数据库多少行需要分表
关于MySQL数据库需要分表的行数标准,有两种观点:
1. 一种观点是,当单表数据量大于2000万行时,性能会明显下降。这个说法最早起源于百度,当时DBA测试MySQL性能时发现,当单表的量在2000万行量级的时候,SQL操作的性能急剧下降。
2. 另一种观点是,阿里巴巴《Java开发手册》提出单表行数超过500万行或者单表容量超过2GB,才推荐进行分库分表。
需要注意的是,这个数值和实际记录的条数无关,而与MySQL的配置以及机器的硬件有关。当单表数据库到达某个量级的上限时,导致内存无法存储其索引,使得之后的SQL查询会产生磁盘IO,从而导致性能下降。
我的建议是,根据自身的机器的情况综合评估,如果心里没有标准,那么暂时以500万行作为一个统一的标准,相对而言算是一个比较折中的数值。
