MySQL缩短查询时间小技巧

背景

今天我要统计数据表的最新更新时间,有些表数据量特别大,所以统计比较费时间,但是如果使用一下小技巧,就会极大加快查询时间,适合小白的调优手段。

查询更新时间

select max(update_time) from test

大概表的行数为4500万左右,我用max()函数查询的时候,需要用时98秒多
在这里插入图片描述
explain一下就可以看到,他走的是全局搜索,没有用索引,那时间肯定是非常长,统计起来真的非常慢。

但是我们可以简单思考一下,更新时间和主键自增ID是同步往上增加,主键自增ID是带索引。那我们可以根据主键倒叙,然后取第一条,那不就是最新时间了

改进版

select update_time from test order by id desc limit 1 

实际测试下来只需要0.1s即可,那是非常的快。
在这里插入图片描述
这样他就是走主键索引,而且只需要扫描一行。速度非常的快。

注意

有时候如果简单思考一下,不要因为某些函数实现简单,也不要拘泥于功能的实现,思考用不同的思维实现同样的功能,就能起到非同一般的效果。

你可能感兴趣的:(mysql,数据库)