我对SQL有点新,我有(希望)一个简单的问题。加速昂贵的SQL查询
此查询大约需要7分钟在我们的数据库上运行,数百万行为10。
SELECT TOP 100 collectView.tagName, collectView.time, collectView.value
FROM TIMELINE.dbo.collectView collectView`
WHERE
(collectView.tagName='currentGS.volume' and
collectView.time>getdate()-1)
ORDER BY collectView.time DESC
我一直希望select 100中的TOP 100能加快速度,因为它只需要100行,但是没有。
任何人有任何建议吗?
如果不知道更多细节,我们无法真正帮助您。这是一个视图还是一张桌子? (名字指向一个视图),在这种情况下,它可能是很多事情。如果它是一个表,它是否有索引? – Lamak
这是一个视图,使用'TOP 100'是 –
并不一定会花费更少的时间..数据库在执行'ORDER BY'时仍然需要访问所有行,但实际显示所需的时间会更少*查询完成后的结果*。 –