mysql数据量5000w+得到时间最早的一条数据,怎么查最有效率?

最近写了一个定时任务做了一个根据时间分表的方法,原表现有5300w的数据,每天有500w的数据写入,我其中有一天sql就是得到时间最早的记录(其实就是记录中最早的数据),一开始本地测试200w数据用的

select updateTime from history order by updateTime asc limit1
这条语句在本地实测没啥问题,在实际服务器运行速度太慢,没法用,直接使用limit1,order by都去掉了,这种虽然能用但是缺陷肯定有的,这样就会有漏网之鱼,索引已建,想问问哪位老哥知道的,指点一下
image
image

已解决image

1 个赞

咋搞定的?

很简单就是没击中索引的问题,上面图中的索引是别人建的,我建了个updateTime的普通索引,匹配最左原则,然后就好了image

1 个赞