我有一個遊標的性能問題,我想避免。 我試圖解決的問題是: 要使用由UDF計算的結果來更新Main表中每個記錄(大約6000000)(通過使用一個更新語句)的列(VARCHAR),UDF本身應該更新計數器在另一個Counter表中。
- 問題是UDF無法更新Countertable,因爲它是一個副作用。 - 由於READONLY標誌,它也不能更新臨時表或變量表。 - 我在主表上使用了一個更新觸發器,但是觸發器只觸發一次存儲在名爲inserted的表中的更新語句。SQL Server批量更新避免光標
我選擇的解決方案是使用光標如下。
- 從主表創建一個遊標。
- 讀取第一行
- 獲得從計數表
- 計數器++
- 呼叫PROC來計算結果,計數器,計數器等
- 更新從PROC結果主表
- 更新計數器表
- 獲取另一行
但是相信我是T oo慢125小時(沒辦法)。
有沒有人可以幫我嗎?
你能更具體嗎?什麼是你的表結構,你想更新什麼? –
我正在計數櫃檯表中的主表記錄,然後將該櫃檯存儲在主表中。謝謝。 – user2007209
爲什麼你要在主表中存儲計數器? – fancyPants