订单的分库分表

为什么要分库分表:

        分库:让当前库中,不要有太多表的数量

        分表:让当前表中,不要有太多的数据

 

    订单分库分表的方案:

        按钱分、按地域、按下单时间、按仓库、按收货人地址、按vip级别分

 

        //按地域

        通过用户id 查询用户下的所有订单

 

        uid -> phone -> webservice -> 所属地 -> 库、表

 

        通过订单号查询订单详情 aaaaabbbbb

 

        //按下单时间 - 通过年分库 通过月分表

        通过用户id 查询用户下的所有订单 ???

        通过订单号查询订单详情 - 时间设计到订单号

 

        //-------按用户id-------

        //10个库  每个库10个订单表

        //设计:库hash   表hash

 

        //下单:uid(后5位) -> 库hash -> 下标(2)-> database_2

        //           uid(后5位) -> 表hash -> 下标(5)-> orders_5

 

        通过用户id 查询用户下的所有订单 - 不会出现跨库跨表的问题

        通过订单号查询订单详情 -> 订单号(用户id)  当前时间(毫秒) + uid

 

        redis incr 1  20位

 

        唯一性

        安全性

 

 

        缺点:可能不够散列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值