MySQL 分表后的查询问题

裸奔于连 发布于 2013/05/22 10:56
阅读 3K+
收藏 1

用户表:uid username ...

关联表1:id uid ...

用户表按用户名分表,关联表通过外键uid关联用户表,现关联表通过uid该怎么定位到哪张表呢?按用户名分表后再通过uid查询不靠谱啊!(实验:用户通过用户名登陆,所以按用户名分表了,但其他的表都是通过uid关联的,还是从一开始思路就是错的?)

希望能得到有效的解决方案,或新的思路!

(附:支持用户名 & 邮箱同时登陆,如何解决分表的问题!)

加载中
0
rainsun
rainsun

 一般都应该用UID分表吧    要不很多查询都会出问题     

应该有一个用户名和UID关联的单独的存储  最好是k-v的    这样就能解决登陆的问题了

0
今天星期一
今天星期一
按用户名分表?有这样操作的?
裸奔于连
裸奔于连
确实不靠谱,是该按uid
0
小伟哥
小伟哥
我最近也碰到这样的问题。我首先说下为什么 要按用户名分表:前提是用户数量非常大(比如3亿),如果是用户id,用户名,用户密码这个数据单独放在一个表里面(不进行分库分表),那个性能是非常低的,所以就想到了通过用户名来分表,这样3亿的数据就可以散列在分表里面。接下来就是扩展表可以通过用户id进行分表,通过用户id获取用户扩展信息。---------------------对于楼主的这个问题,扩展表的id通过id生成器生成,通过这个id可以获取是哪个用户表,然后通过扩展表分表规则也可以找到是在哪个扩展表里面。--------------------------我碰到的问题是,用户同时可以通过用户名,邮箱、身份证登录,这个我就没有想到要怎么处理了?
裸奔于连
裸奔于连
最终没有分表,分析后业务上实在没必要,需要分的话预先估计大概可能用户规模,取模;
返回顶部
顶部