一张表里数据很多,我要获取最晚时间的那条数据,我是通过先按时间倒序排序然后取第一条数据,结果查询时间很长,有什么好方法吗
时间列上加聚集索引
要排序的列加上索引.
加时间加索引,用min函数取到日期 内连接自身
如果是“添加/创建时间”,并且ID大小随时间增大,那么可以根据ID倒叙,在取第一条数据的时间
一般后添加的数据,ID是自增长的话,越晚加的数据,ID越大。(但不绝对哈)这个需要你先分析下数据
当然,如果根据ID倒叙得到的不是最晚时间,就按楼上几位说的给排序的列加索引 这样会快些
同意你的做法,如果是我的需要达到这个目的,比较简单的办法就是将pk列设为自增长,autonumber或者integer auto increment ,取max就可以了。如果你有标记删除位,就需要加条件了。
Goup by 时间 用min (时间)函数取值