为什么将数据拆分成多表并不能提高性能?

时间:2012-02-12 02:35:48

标签: mysql architecture

我们正在使用mysql。我们有一个巨大的表,其中包含10亿行。引擎是InnoDB。我们有50%选择,30%更新,其他20%每分钟。我们希望提高性能,因此我们将单个表拆分为多个表。但是通过分裂,我们看到性能没有提高一点。为什么?分裂表会提高性能是常识吗?

服务器是4核,SCSI RAID 5硬盘,32GB内存。只需一台服务器。

1 个答案:

答案 0 :(得分:0)

根据您问题中的信息:您有一个RAID集。

所以当你拥有单个表时,它就在那个RAID集上。拆分表时,两个新表都在同一个RAID集上。所以你没有任何性能上的好处。

由于您现在必须处理2个表,因此实际上会受到性能影响。

为了提高性能,您需要将数据放在不同的磁盘上,最好使用分片将数据放在不同的服务器上。

对于某些比较,请参阅:http://xeround.com/blog/2011/11/mysql-sharding-vs-mysql-partitioning