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
;