muxi
2012-04-18 09:24:39 +08:00
这个不能一概而论,2000w不知道楼主从何处得来,或者是多久以前别人得出的结论,现在软件都在发展,MYSQL 5.1和5.5的改进不是一点点,硬件也在改进,内存现在随便就能到32G,即使是5.1,2000w这个数字非常不靠谱,我经历的项目中,有不少单表超过8亿条的数据,适度优化后,增删改查速度也没有很多的下降,还能正常使用,唯一头痛的是当你改变表结构的时候会非常花时间,所以2000w这个数字更多的是出于表结构变更成本上的考虑。
如果你的表结构不是经常变更,没有大量的join操作,2000w这个数字有点保守了,当然坏的数据操作方法其实用不了2000w就会产生大量的慢查询和程序异常。
道听途说是不准的,分表是个好的方法,但首先是要改进你的数据库操作方式,不然即使分表了,依然会有很多问题,而且在某些情况下分表带来的维护工作量远远超过单表,最简单的例子就是当你的查询条件不包含你分表的条件的时候,查询就很痛苦。