(千万级用户条数)mysql数据库的 用户表分表后,用户在登录的时候提交了账号密码,如何做查询处理?

(千万级用户条数)mysql数据库的 用户表分表后,用户在登录的时候提交了账号密码,如何做查询处理?

Bergman
最佳答案

账号肯定是唯一索引,千万级查询对于MySQL来说,小意思,可以根据你分表的HASH算法获取用户所在表,也可以多表联合,你还可以在登陆之前做账号正确校验,拒绝一些非法规则账号,找出用户信息在做密码校验,参考laravel的登录,话说千万级用户主表还没到需要分表的步骤吧,把一些扩展字段垂直分表,用户表只存储精简的信息!

1个月前 评论
Bergman (楼主) 1个月前
讨论数量: 3

账号肯定是唯一索引,千万级查询对于MySQL来说,小意思,可以根据你分表的HASH算法获取用户所在表,也可以多表联合,你还可以在登陆之前做账号正确校验,拒绝一些非法规则账号,找出用户信息在做密码校验,参考laravel的登录,话说千万级用户主表还没到需要分表的步骤吧,把一些扩展字段垂直分表,用户表只存储精简的信息!

1个月前 评论
Bergman (楼主) 1个月前

如果是ID分段的,就比较不好找了,因为登录提交的是用户名。用户表分表时如果指定为 MyISAM 类型,可以创建一个合并表类型为 MRG_MyISAM,此表包含全部数据,查询此表即可知道其id。 建议用户表分表时,对用户名进行 hash 取值分表,这样在登录时就可以知道查哪张表了。

2周前 评论

file 单表3亿多条记录不是一样跑的杠杠的,而且每天还要增加100W条记录左右。你们太不相信MYSQL了

1周前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!