![](/img/trans.png)
[英]Optimizing stored procedure query for a table that contains 75 million records
[英]Stored Procedure Performance Issue 1.5 Million Records in Temp Table
我有一個場景,我在存儲過程中執行以下查詢作為SQL代理作業的一部分,並且它需要幾個小時才能完成執行。 任何人都可以建議一個更好的方法來重寫這個查詢? #ownership
表有150萬條記錄。
WHILE (@last_update > 0)
BEGIN
INSERT INTO #ownership
SELECT DISTINCT
a.ParentNumber,
b.ChildNumber
FROM #ownership a,
#ownership b
WHERE a.ChildNumber = b.ParentNumber
AND NOT EXISTS (SELECT 1
FROM #ownership c
WHERE c.ParentNumber = a.ParentNumber
AND c.ChildNumber = b.ChildNumber)
SET @last_update = @@ROWCOUNT
END
你可以為這個代碼的性能做的最重要的事情是INDEX #ownership
上ParentNumber, ChildNumber
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.