分库分表实战,在这里,我以用户id维度进行操作。假定提前调研,每个用户某项操作的平均记录为10条记录
首先,确定每个库容纳100张表,每张表容纳100w数据。
其次,计算每张表容纳的用户数量 = 100w / 10 = 10w
再次,计算库的容量,假定未来两年用户量会增长5000w,那么需要5000w / 10w = 500张表,而每个库存放100张表,因此需要5个库
最好,我们在操作数据库的时候,需要根据用户id确定数据在哪个库,哪个表,以此来拼接替换sql
select * from User{nDbIndex}.tbUser{nTableIndex}
nDbIndex = lUserId / 10w /5
nTableIndex = lUserId / 10w