在工作中,我们经常需要检索出最新条数据,能够实现该功能的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

 

04-18 12:39
查看更多