mysql使用order by desc倒序查询慢

1801

数据表结构,该表数据量有3千万+,每天几万的速度在增加。

id自增,device_id,lng,lat,speed,mile,direct,create_time
索引字段:device_id,create_time

需求:查询某时间段内设备的里程数。

初级写法

1、找到最小的公里数,SQL语句:select mile from device_gps where create_time>开始时间戳 order by id limit 1;

2、找到最大的公里数,SQL语句:select mile from device_gps where create_time<结束时间戳 order by id desc limit 1;

结果语句1运行很快,语句2即使只查询1条数据,还是花了6秒左右。用explain查看,走的也是ID主键索引,貌似没用还是慢,跟PHPMYADMIN的翻页效率一样。


语句2改进写法,未超过1秒,接受了。

select mile from device_gps where create_time<结束时间戳 order by create_time desc limit 1;

网上大佬的解释:使用order by 后需跟WHERE条件的索引一致


老油条写法

一条SQL语句

select min(mile) as min_mile,max(mile) as max_mile from device_gps where create_time>开始时间戳 and create_time<结束时间戳




无人货架批量大规模上架商品解决方案

架构设计之初未考虑到业务需要批量上架商品,几万个逐一生成货架商品需要耗费大量人力,而货架商品的结构数量都一样。...

物业小区无人销售智能货架方案

小区无人值守货架销售的建设方案,从三个方面阐述货架集成建设,投入使用,系统管理。...

厨余收运管理系统迭代开发,回收系统优化升级

完成基础数据开发,试运行一段时间后,在数据沉淀的基础上对数据进行挖掘,对业务处理进行优化升级。...

餐厨油脂再生资源收运回收管理系统方案

通过互联网+改变餐厨收运回收传统工作方式,移动手机助力系统提供工作效率、’管理效率,数据电子化打造收运大数据建设。...

医馆诊所管理系统

实现中医馆中诊所,理疗的业务处理,分为小程序用户端,医生端,管理端,PC管理端,PC服务台,PC医生端...

thinkphp8安装VIEW,多应用,验证码

官方THKPHP8默认只有单应用一个控制器,其他插件可按需安装,通常需要VIEW和多应用...

sqlserver中的nvarchar和varchar的区别

数据库表中nvarchar和varchar都可以用来表示字符的存储类型。...

微信接口开发返回码一览表

返回错误码对照表...

高德地图mark按类型批次显示不同的颜色

大量数据点显示在地图上,通常使用海量点的API展示,通过建立多个海量点达到按分类显示不同颜色的mark,看起来更直观...

餐厨垃圾收运小程序需要什么条件

建立一个小程序的硬件设施需要服务器,域名,若干个邮箱...