mysql分表后如何查询

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

阅读 15.5k
5 个回答

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

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏