mysql分表后如何查询


比如说我的users表,把它分为users0-users99
字段是id username pwd ...
按id把它分插入到这些表中
但是查询时候怎么办呢,比如我要查询username='张三',应该怎么查询呢

mysql mysql优化

好人orz 9 years, 10 months ago

提过类似的问题,可以参考下: MySQL分表后,怎么查询所有表中的记录

你看不见我哦 answered 9 years, 10 months ago

merge存储引擎来实现分表
去搜一下吧,大概的意思你可以理解成,比如分10张表,在查询时mysql会自动把10张表当成1张表来做查询
但是这样分的性能不太好,用db的分表方便,如果考虑到性能还是要自己用code实现可能更好一些

Iccccce answered 9 years, 10 months ago

你分表user0-users99的依据是什么?
建议分为usera-userz和user0。
存储的时候按username的首字母拼音来存,其他字符存到user0。

乘着企鹅去南极 answered 9 years, 10 months ago

按id把它分插入到这些表中,这个ID是如何获取的?

比企谷雪乃 answered 9 years, 10 months ago

你的user表分表策略得规定一下,比如拿用户的Email做哈希或者取模,之后拿到的key就是追踪到是需要往哪张表去插入,当你查询时,就是反向追踪,按照你的规则,就是上面举例的Email或者某个唯一不重复字段,得到你的表的key,再去做查询

阿媽系女人 answered 9 years, 10 months ago

Your Answer