gpt4 book ai didi

mysql - 如何使用 SQL 语法从 MySQL 表中选择最近或最后一条记录

转载 作者:行者123 更新时间:2023-11-29 22:09:37 25 4
gpt4 key购买 nike

如何从 MySQL 查询中选择最近或最后 100 条记录?

我的数据库中有 1800 万条记录。我想使用 Timestamp 列选择 100 条最新记录,但运行时间超过 2 分钟。

除了使用 Order By 之外,还有其他方法可以查找最新记录吗?

SELECT DISTINCT (dd.TIMESTAMP)
,dd.Amplitude
,pd.PatientId
FROM DeviceDetails dd
INNER JOIN DeviceSession ds ON ds.DeviceSessionID = dd.ByDevSessionId
INNER JOIN PatientSession ps ON ps.PatientSessionId = ds.ByPatientSessionId
INNER JOIN PatientDetails pd ON pd.PatientDetailsId = ps.ByPatientId
WHERE pd.HospitalPatientId = 'Rorys Test Ward Test Bed 2 @ 2015-07-31 18:36:41'
AND dd.TIMESTAMP < '2015-08-04 11:53:08.962'
ORDER BY dd.TIMESTAMP
Limit 100

最佳答案

尝试解释以查看执行计划。或运行以下查询。

explain  SELECT DISTINCT(dd.Timestamp), dd.Amplitude , pd.PatientId   FROM DeviceDetails dd   JOIN DeviceSession ds 
ON ds.DeviceSessionID = dd.ByDevSessionId
JOIN PatientSession ps ON ps.PatientSessionId = ds.ByPatientSessionId
JOIN PatientDetails pd ON pd.PatientDetailsId = ps.ByPatientId
WHERE pd.HospitalPatientId = 'Rorys Test Ward Test Bed 2 @ 2015-07-31 18:36:41'
AND dd.Timestamp < '2015-08-04 11:53:08.962'
ORDER BY dd.Timestamp
Limit 100

关于解释你可以看这里的教程。 http://www.slideshare.net/phpcodemonkey/mysql-explain-explained

关于mysql - 如何使用 SQL 语法从 MySQL 表中选择最近或最后一条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31809048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com