mysql如何提高查询速度_mysql 如何提高查询速度.

订单表 order 表根据日期拆分 为

order_3 三个月内表

order_this_year 今年内表,

order_2016年表

order_2015年表,

以此类推.把订单拆分成小表 提高读写效率

当用户选择 2016年订单 就直接到order_2016表查, 用户选择三个月就只到 order_3 表查数据. 提高效率

现在问题1

order_this_year 今年内表 如何设计,

第一种设计思路

让 order_this_year不包含 order_3 三个月表的数据,

但会出现问题, 当用户查询 今年内订单时, 需要跨两个表查询 order_this_year和 order_3 如果后台涉及到统计今年内的数据时, 要跨表查询两张表数据

如果涉及到 inner join 其他表后面又有 order by 等, 更加复杂

第二种设计思路

让order_this_year包含 order_3表三个月的数据, 如果用户查询今年内数据时就只查询order_this_year 通过冗余三个月数据来提高查询效率.

但引发的问题是. order_3表的数据 发生更新变化时 要同时想更新 order_this_year表数据, 比如用户下单, 发货, 订单收货, 订单退货, 订单退款等等, 全站涉及到订单更新时 都要再去order_this_year更新一遍.这导致更新数据时麻烦.

指导指导如何为 order_this_year设计一种思路, 既能解决查询效率问题, 又能解决数据及时问题.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值