数据量大了需要考虑使用分表来减轻单表压力,提升查询性能。当然也有其他举措,比如读写分离、cluster等,此文重点讲分表的做法。
分表有几种做法?
1. 分表的原理:把常用字段如ID或NAME取hash值,根据hash值放在不同的表中。
当然也有求余的方法,这个可以多种方法来实现。
这个方法使用于论坛,发贴表,数据量大时,可采用此策略。比如1亿条记录,建256张表,每个表hash进40万记录,每个表压力明显很小。
2. 使用merge引擎来实现分表:
原理,建若干个分表,再建一个合并表存所有数据,全部查询时从合并表时,分开查询时从分表中查询。
注意:
在使用分表时,每个表的ID不能使用自增长,而由专门的服务来提供,比如由一个表专门处理提供ID业务,此表统一对外提供ID,所以表需要新增记录时,到此表来取唯一的ID。
已有 0人发表留言,猛击->> 这里<<-参与讨论
ITeye推荐