select a.*
from tb_szjc_data a
where deviceSN= '000'
and createtime=(select max(createtime)
from tb_szjc_data
where deviceSN= '000')
select a.*
from tb_szjc_data a
where
createtime=(select max(createtime)
from tb_szjc_data
where deviceSN= a.deviceSN) and a.deviceSN= '000'
为什么第一个SQL查询非常快?MySQL版本为5.7
deviceSN= '000' Data 2W
更快的
SELECT *
FROM tb_szjc_data
WHERE deviceSN = '000'
ORDER BY createtime DESC
LIMIT 1
如果你也有
INDEX(deviceSN, createtime)
至于";为什么";一个比另一个快,我们需要看到SHOW CREATE TABLE
,尤其是索引。