我有一个包含派生表的 SQL 查询。
派生查询如下所示:
SELECT
ObjectId, MIN(StatusHistoryId) AS FirstStatusHistoryId
FROM
dbo.StatusHistory
WHERE
ObjectType = 'SchemeTypeApplication'
AND (StatusId = 504 OR StatusId = 501)
AND IsDeleted = 0
GROUP BY
ObjectId
这需要大约 2 分钟才能完成,它会拉回近 300k 行。整个查询(内部有这个)大致相同。如果没有派生表,它只需要不到一秒钟的时间,所以我知道是派生查询导致了问题。
我的问题是,有没有办法提高派生表查询的速度?也许向 StatusHistory 表添加一些索引(我对索引有点垃圾......)?还是使用派生表以外的其他方法?
任何建议表示赞赏。
谢谢