0
我正在尋找一種方法來加速SQL,因爲我認爲我沒有有效地做它,雖然它工作但有很多記錄時很慢。SQL Server 2008 - 多個更新與循環
我正在使用ASP/VBScript,但這是SQL更新問題。
我有一個循環FOR, NEXT,
捕獲提交表單和流程以捕獲提交的SortNum
。
for x = 1 to request.form.count
' -- Some where here, I captured the SortNum that associated with RecID
SortNum = TheCapturedRowNum
TheRecID = TheCapturedRecID
sql_UpdateSortNum = "Update Table1 SET SortNum = '"& SortNum &"' where RecID = '"& TheRecID "'"
conn.execute(sql_UpdateSortNum)
Next
目前,它正在工作,但更多的記錄(超過50條記錄),它會變得更慢。我想這是一個糟糕的方式來循環並繼續執行更新查詢。有沒有辦法加快更新,如存儲和更新一次?請注意0的值不是FOR循環的(x)。
任何意見,將不勝感激,
謝謝
對不起,我不知道我明白。所以,我仍然需要循環,但是我不應該使用代碼中的更新,而應該創建一個帶有2個參數(RecID,SortNum)的存儲過程,然後在我的存儲過程中使用Update SQL,正確嗎?基本上,我仍然需要遍歷存儲過程並將2個參數提供給更新存儲過程?任何例子,都會被認可! – milacay
@milacay你應該遍歷你的記錄並創建一個XML格式的字符串。然後,將該字符串發送到接受XML參數的存儲過程。 – Mike
@milacay:UPDATE FROM允許您在單個UPDATE語句中更新更多行。 –