我有一个有效的查询,但速度很慢。有办法加快速度吗?基本上,我有一个带有时间卡条目的表,然后是第二个带有该条目的时间细分的表,由时间卡相关。我要找的是没有故障的计时器。我想如果我把标准降低到2个月,它会加快速度。谢谢你的帮助
SELECT * FROM Timecards
WHERE NOT EXISTS (SELECT TimeCardID FROM TimecardBreakdown WHERE Timecards.ID = TimecardBreakdown.TimeCardID)
AND Status <> 0
AND DateIn >= CURRENT_DATE() - INTERVAL 2 MONTH
最佳答案
似乎您想知道TimeCead崩溃表中不存在的时间心,在这种情况下,您可以使用左外部连接。
SELECT a.*
FROM Timecards a
LEFT OUTER JOIN TimecardBreakdown b ON a.TimecardID = b.TimecardID
WHERE b.TimecardID IS NULL
这将去掉子查询(代价高昂)并使用join(效率更高)。