0
首先,我們從ProductFileLocalName中獲取最大ID,然後是 - 1000(因爲我們不想刪除最近的添加,因爲它們可能不會在ProductFileInfo插入尚)優化刪除大量行(超過幾百萬) - SQL Server 2005
然後我們通過最大id來此存儲過程:
DELETE TOP (10000)
FROM ProductFileLocalName WITH (ROWLOCK)
FROM ProductFileLocalName
LEFT OUTER JOIN ProductFileInfo AS pfi WITH (NOLOCK) ON ProductFileLocalName.ProductFileLocalNameId = pfi.ProductFileLocalNameId
WHERE (ProductFileLocalName.ProductFileLocalNameId < @maxid AND pfi.ProductFileInfoId IS NULL);
這是執行此操作的最有效方法是什麼?
你能準確告訴我們你想要做什麼嗎?這是關於大規模刪除的第三個問題(它是數十億,現在是數百萬,現在是TOP 10000,...) – gbn 2010-07-31 12:13:42
表格的百分比明智,你刪除了多少條記錄? – NinjaCat 2010-07-31 12:54:16
@gbn這是一個差異表,另一個表我使用了你的建議,它運行良好。 – RPS 2010-07-31 15:14:36