84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
php MySQL分区分表后查询数据不就不方便了么,比如一张订单表拆分为三张表,这样我要查询当前用户的订单数量,不就会查询三次,这种也会影响效率撒,那为什么要分表,分表过后由于数据分布太散,查询效率也太低了,还是有什么思路解决这样的问题
ringa_lee
分表前在一个表里面,达到一定量需要分表了就按时间分吧,一年一个表,查看订单就直接按年看,跨年的订单就不出现在同一列表了,早期未分表的就是xx年以前的订单。
京东订单:
当当订单:
有时候我们是为了减少不必要的冗余,保持数据完整性,像用户信息,在用户表中有,订单也需要就关联一下user_id;
但有时候适当的冗余是需要的,为了更高的效率,以及不出错:像地址信息,肯定有个地址记录表供用户下单时候选择收货地址,但是如果存个address_id,用户这个地址删掉了怎么办,订单找不到收货地址了?那肯定不行啊,所以会有合适的冗余字段.
关于你的用户订单数量要查询三次..我也不是很理解..订单表就一张主表,统计的时候那些其他的信息不用统计啊,一次查询就够了吧.
分表前在一个表里面,达到一定量需要分表了就按时间分吧,一年一个表,查看订单就直接按年看,跨年的订单就不出现在同一列表了,早期未分表的就是xx年以前的订单。
京东订单:
当当订单:
有时候我们是为了减少不必要的冗余,保持数据完整性,像用户信息,在用户表中有,订单也需要就关联一下user_id;
但有时候适当的冗余是需要的,为了更高的效率,以及不出错:像地址信息,肯定有个地址记录表供用户下单时候选择收货地址,但是如果存个address_id,用户这个地址删掉了怎么办,订单找不到收货地址了?那肯定不行啊,所以会有合适的冗余字段.
关于你的用户订单数量要查询三次..我也不是很理解..订单表就一张主表,统计的时候那些其他的信息不用统计啊,一次查询就够了吧.