mysql - 数据库分表分库的问题?
问题描述
举个简单的例子,以订单表为例。
例如:1个商家。10个用户的uid分别为[1,2...,10]。10个用户的10个订单在一个数据表A中。现在需要根据uid进行水平分表,将10个订单分到10个表中,即有A0,A1...A9共10个表。
问题1:目前有哪些好用的分表分库工具吗(或者相关的指导资料)?请大家推荐一下。
问题2:分表完成之后,用户查询订单表没有问题,那么商家查询这些订单的时候怎么查询呢(即分表之间的join,或者应当怎样分表才能避免这种分表join)?
PS:不知道我的表述是否清楚,如果有不清楚的地方,还请大家指出让我及时改正,谢谢大家。
最后给个简易的表结构:
订单表:
order_iduidshop_id订单id用户id商户id用户表:
uidnicknameshop_id用户uid昵称商户id问题解答
回答1:问题一:1、金山的Kingshardhttps://github.com/flike/king...
2、百度的heisenberghttps://github.com/brucexx/he...
3、58同城的Oceanushttps://github.com/58code/Oce...
4、淘宝toddle(不维护)https://github.com/alibaba/tb...
5、当当网的sharding-jdbchttps://github.com/dangdangdo...
问题二:没有表结构,不过一般情况下都是这样的。订单表里包含订单信息和订单人的编号,人员表里包含人员编号和人员姓名,然后做连接查询:
1select 订单信息 from 订单表 join 人员表 on 订单表人员编号=人员表人员编号2where 人员表人员姓名=’xxx’
相关文章:
1. javascript - 一排三个框,各个框的间距是15px,距离外面的白框间距也是15px,这个css怎么写?2. javascript - nodejs调用qiniu的第三方资源抓取,返回401 bad token,为什么3. html5 - javascript写业务有用到什么编程范式没?4. html5 - vue-cli 装好了 新建项目的好了,找不到项目是怎么回事?5. javascript - immutable配合react提升性能?6. javascript - vue 手机端项目在进入主页后 在进入子页面,直接按返回出现空白情况7. css3 - 微信前端页面遇到的transition过渡动画的bug8. javascript - jQuery post()方法,里面的请求串可以转换为GBK编码么?可以的话怎样转换?9. python3.x - python 中的maketrans在utf-8文件中该怎么使用10. mysql - C#连接数据库时一直这一句出问题int i = cmd.ExecuteNonQuery();

网公网安备