title: 优化mysql查找最新一条数据
date: 2019-07-24 11:23:21
categories:
- 数据库
tags: - MySql
今天写Web时,发现有个请求一直没有响应,用谷歌F12
看了一下,请求出现了一个问题。
我第一反应是网络延迟,又试了几次,还是这个问题,便看了一下后台控制台也没报错,便想是不是sql
查询时间太长了,便把sql
手动运行了下,果然花了48s
。
select max(publish_time) from flight_track_data where ship_id = 212036 in (select distinct update_time from vessel_track_data where ship_id = 212036);
我想要查询的是,条件查询下,最新的一条数据,结果花了这么久,后来查询了些资料,先按时间排好序,再使用group by分组查询,返回分组后的第一条数据。
select * from (SELECT * FROM flight_track_data WHERE ship_id = 212036 ORDER BY publish_time DESC) AS a GROUP BY a.ship_id;