随着业务的发展单库中的分表的数量越来越多,>
一般mysql不建议表的数量超过1000个。当然,这不能一概而论,还需要根据你的数据量,和硬件来确定然后根据自己的服务器调整几个mysql ‘%open%’ 参数,从而来确定你的库应该不超过几张表性能能在可接受范围内。
在分库前我们需要确定一下我们应该如何去分库:
1、我们是根据用户ID来进行分库,和分表的思路一样。
2、我们需要在用户表中标记一下用户的数据是在哪个库。
3、在系统设置表中应该记录下当前最大分库数量。
4、在系统设置表中应该记录现在所有分库的库名。
5、在系统设置表中应该记录每个分库的数据库连接描述符信息。
我们以>
在新增加库的时候,我们在新库中创建的表的数量是在系统设置表中的最大分表数。如在系统设置表中 name=’max_sharding_table_num’ 的 value=’10’,这时我们会初始化每个分表的个数为10个。
和分表一样我们应该很清楚哪些表是需要进行分库,我们需要分库的表有>
我们应该将之前的数据的库名进行统一。如之前test库的数据要先迁移到 test_1 上
提醒:数据迁移慎重,不是说迁移就迁移的。其实也可以不用迁移的,如果不迁移之后的自动分库的代码就需要做多一点的判断。这为了统一我就做了迁移。