Mysql 分表策略

数据量大了需要考虑使用分表来减轻单表压力,提升查询性能。当然也有其他举措,比如读写分离、cluster等,此文重点讲分表的做法。

分表有几种做法?

1.  分表的原理:把常用字段如ID或NAME取hash值,根据hash值放在不同的表中。

当然也有求余的方法,这个可以多种方法来实现。

这个方法使用于论坛,发贴表,数据量大时,可采用此策略。比如1亿条记录,建256张表,每个表hash进40万记录,每个表压力明显很小。

2.  使用merge引擎来实现分表:

原理,建若干个分表,再建一个合并表存所有数据,全部查询时从合并表时,分开查询时从分表中查询。

注意:

在使用分表时,每个表的ID不能使用自增长,而由专门的服务来提供,比如由一个表专门处理提供ID业务,此表统一对外提供ID,所以表需要新增记录时,到此表来取唯一的ID。

猜你喜欢

转载自geeksun.iteye.com/blog/2204890