04/06 15:10
运行一段时间后,表 b2b_token_user_1 数据量已经增长到了 1200 万,超过了 1000 万的水位,这时候在创建令牌则将该表移除,在此进行 Hash 后取模得到 1,则当前分到的表就是 b2b_token_user_2。
----------------------------------------------------------------------------------------------------------------
这样做,分页查询(问题 b)不是就不方便了?
04/06 16:52
分表序号实际是保存在数据库中的,虽然hash值是1,但保存的序号实际是表名后面的数字2,所以分表序号是2,实际查询时从数据库或者缓存中得到分表序号2,然后再从b2b_token_user_2中分页查询数据即可。本质上就是把分表算法和路由策略进行了解耦,实际路由的时候是用的创建时候记录下来的分表号。
03/30 11:46
既然你都在token表记录分表号了,那么就不需要哈希了,每次新建token都把当前数据量最小的user表的分表号给token就可以。这个记录放分表号的方案适合小表分大表的场景
回复 @
{{emojiItem.symbol}}
返回顶部
顶部