用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1989|回复: 9
收起左侧

[数据库] 3113条数据里一个order_by占用10秒求原因

[复制链接]
发表于 2018-8-20 20:09:54 | 显示全部楼层 |阅读模式
原因:多表联查的订单列表,多加的order_by占用了10秒左右的时间,以下为执行的sql语句

SELECT * FROM `zt_view_order` WHERE `shop_id` = '63' AND `order_status` != 33 LIMIT 15 用时1.43秒

SELECT * FROM `zt_view_order` WHERE `shop_id` = '63' AND `order_status` != 33 ORDER BY `id` DESC LIMIT 15 用时11.76秒

求大神解惑,谢谢谢谢谢谢谢谢!!!
 楼主| 发表于 2018-8-20 20:28:08 | 显示全部楼层
长期问题,求求求~~~
发表于 2018-8-22 01:23:22 | 显示全部楼层
放到 phpmyadmin 里执行一下试试?
 楼主| 发表于 2018-8-22 15:28:26 | 显示全部楼层
Hex 发表于 2018-8-22 01:23
放到 phpmyadmin 里执行一下试试?

直接在数据库中执行也是这样,order by占用大量时间
发表于 2018-8-23 10:53:21 | 显示全部楼层
是否ORDER BY 'ID'的结果应该一样吧?
发表于 2018-8-27 17:29:11 | 显示全部楼层
id 没有索引吧
发表于 2018-8-27 20:51:25 | 显示全部楼层
1:*这个改用必须读的记录名称;2: !=改用<>
 楼主| 发表于 2018-8-28 09:22:21 | 显示全部楼层

目前的解决办法是给表添加索引值,能够减少大几秒的时间
发表于 2018-8-29 08:48:46 | 显示全部楼层
显然应该是索引问题

本版积分规则