问:

如何将主表数据按条件分配到分表

答:
将主表数据按条件分配到分表,通常有以下几种方法:
1. 根据ID号段分表:这是最简单的方法,根据ID号的范围将数据分配到不同的表中,例如主表ID 1-1000的数据存到表1,1001-2000的数据存到表2,以此类推。这种方法容易实现,但是如果表数据量很大,主键类型不是数字,则不适用。
2. 根据日期字段分表:可以将主表的数据按日期字段划分到不同的表中,例如2019年1月前的数据在表1,2019年2月的数据在表2,以此类推。这种方法对于数据修改不太频繁的表比较适用。如果数据修改比较活跃,需要频繁在分表之间迁移数据,实现难度会较大。
3. 根据所在地区或省份分表:如果表中有地区或省份等字段,可以据此将表分为不同区域的分表,这样可以使得分表的数据量更加均衡,也方便区域相关的查询。实现难度一般,需要在插入和更新时判断地区将数据导向到正确的表。 
4. 哈希算法分表:使用哈希算法根据某一字段的值计算出一个哈希值,根据这个哈希值将数据分配到对应的表中。这种方法可以实现比较均衡的数据分布,但分表数量变更时需要重建哈希算法,实现难度较大。
5. 范围分区分表:在表创建时就指定好每个分区包含的数据范围,插入数据时自动识别分区将数据存入对应分表。这种方法可以事先规划好分表的总体数量及每个表的数据量范围,实现较为简单。但是如果主表数据分布发生较大变化,可能导致某些分表数据量过少或过多,需要重新规划分区范围。
以上是较常用的几种主表分表方法,可以根据业务需求选择适合的方法来实现。分表之后,还需要解决跨表的增删改查等操作,这也是分表实现需要考虑的关键点。