数据库索引对查询(order by 语法)性能的影响

我们先来看看索引的定义:

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。

接下来我们用一个例子来介绍怎么最大程度利用索引来加速我们的查询

1、先来看下要查询的sql

SELECT
wpo.id,
wco.collection_order_no,
wpo.picking_order_no,
wpo.add_time,
wpo.add_admin_name,
wpo.picking_time,
wpo.picking_admin_name,
wpo.status,
wpo.end_time,
wpo.sort AS isTop,
ceil((UNIX_TIMESTAMP(wpo.end_time)-UNIX_TIMESTAMP(wpo.picking_time))/60) useTime,
wpo.picking_type,
wco.warehouse_id,
sla.logic_area_name,
(SELECT count(DISTINCT (source_order_id))
FROM wod
WHERE warehouse_picking_order_id = wpo.id) AS orderNum,
(SELECT count(1)
FROM wod
WHERE warehouse_picking_order_id = wpo.id) AS skuNum
FROM wpo
LEFT JOIN wco ON wpo.warehouse_collection_order_id = wco.id
LEFT JOIN sla ON wpo.logic_area_id = sla.id
ORDER BY wpo.sort desc,wpo.status asc,wpo.add_time asc limit 10;

2、分析原因

联查总count数也就4万左右,并且上面s

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值