Mysql优化实践(分页优化)

当你和别人都能实现一个某个功能,这时候区分你们能力的不是谁干活多少,而是谁能写出效率更高的代码。比如显示一个订单列表它不仅仅是写一条SELECT SQL那么简单,我们还需要很清楚的知道这条SQL他大概扫描了多少行数据,返回了多少行数据,是否需要创建索引,创建什么样的索引,索引是否生效,等等。
这里以订单列表显示和订单导出为例来谈谈Mysql分页优化。

发现问题

下边是一个订单表的简单表结构。里边有大概270万条数据,其中渠道ID为35的有132万调数据。

CREATE TABLE IF NOT EXISTS `order_info` (
  `order_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '订单ID',
  `order_sn` varchar(60) NOT NULL COMMENT '订单号',
  `user_id` int(11) NOT NULL COMMENT '用户ID',
  `channels_id` int(11) NOT NULL COMMENT '渠道ID',
  ……一些其他字段
  `order_time` datetime NOT NULL COMMENT '下单时间',  
  PRIMARY KEY (`order_id`),
  KEY `channels_id` (`channels_id`),
  KEY `order_sn` (`order_sn`),
  KEY 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值