我有一个删除查询,每天需要运行删除任何超过 7 天的数据,即大约 600 万条记录。
我的表应该只存储过去 7 天的数据。
这是我正在运行的查询:
DELETE FROM [tblTSS_DataCollection]
Where [DatapointDate] < DATEADD(D, -7, GETDATE())
此查询需要 5.5 分钟才能执行。我有一个包含这个的索引设置,所以我认为它不应该花这么长时间来执行:
CREATE UNIQUE NONCLUSTERED INDEX [IX_tblTSS_DataCollection] ON [dbo]. [tblTSS_DataCollection]
(
[DataPointID] ASC,
[DatapointDate] ASC,
[AssetID] ASC
)
有没有更好的方法来删除这些数据?这需要很长时间,我真的需要能够快速删除这些数据。