查询最新记录的sql语句效率对比

Posted on 2018-09-26 16:43  我编程我快乐  阅读(281)  评论(0编辑  收藏  举报

在工作中,我们经常需要检索出最新条数据,能够实现该功能的sql语句很多,下面列举三个进行效率对比

 

本次实验的数据表中有55万条数据,以myql为例:

方式1:

  SELECT * FROM t_device_monitor WHERE uploadTime in(select max(uploadTime) from t_device_monitor)

  该语句平均耗时2.3秒

方式2:

  SELECT * FROM t_device_monitor WHERE uploadTime =(select max(uploadTime) from t_device_monitor)

  该语句平均耗时2.0秒

方式3:

 SELECT * FROM t_device_monitor ORDER BY uploadTime DESC LIMIT 0,1

 该语句平均耗时0.8秒

综上,方式3效率最高

方式3使用limit 和 order by结合使用,该结合如果排序字段有相等的记录,结果可能会出现陷阱。具体可以参考

https://blog.csdn.net/qiubabin/article/details/70135556

 

 

Copyright © 2024 我编程我快乐
Powered by .NET 8.0 on Kubernetes