mysql 36分表算法_MySql水平分表方案,自己亲测

场景:用户注册后,在用户登录的时候,可以通过用户名,手机号,邮箱进行登录。

分表方案:

用户表 user_1,user_2,user_3............user_10

存储关系表:uid_1,uid_2.........uid_20

uid_n的字段:uid(使用crc20转换用户名,手机号,邮箱后的数字),type(1用户名,2手机号,3邮箱),val(对应的用户数据),tb_no(用户表分表的序号)。

举例:

一个用户注册:用户名 admin 手机号 15927434211 邮箱 807967087@qq.com 性别 男

在入库的时候计算 admin的CRC32值为152155,然后使用取模的方式计算出分表将要插入user_5,将用户信息插入user_5,同时计算出手机号15927434211 的CRC32值为135697 及 邮箱 807967087@qq.com的CRC32值为152564.然后将(152155,135697,152564用户名,手机号,邮箱的CRC32值)按分表算法,分别算出应插入的表分别为(uid_3,uid_1,uid_6),插入的数据分别应为(152155,1,'admin',3),(135697,2,'15927434211',3),(152564,3,'807967087@qq.com',3).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值