-1
我創建了一個sql查詢來更新表,但它有一個性能問題。從我的asp.net平臺將從SQL數據庫超時,當我從存儲過程更新下面。你能幫我讓它更快,並幫助數據庫超時問題?如何處理SQL存儲過程中更新查詢的性能問題?
UPDATE e SET e.X=tablo.X,E.Y=ISNULL(tablo.Y,0),e.V=tablo.V,e.ADRES=tablo.ADRES,e.A=tablo.A
FROM tbltabloor e
JOIN tablo_NOT tablo ON e.Z=tablo.Z AND E.T=convert(datetime,CONVERT(varchar(8),tablo.T,112)) AND E.U=tablo.U
WHERE NOT exists (select * from tablo_NOT t where t.Z =e.Z AND E.T=convert(datetime,CONVERT(varchar(8),t.T,112)) AND E.U=t.U
AND E.X=t.X AND ISNULL(t.Y,0)=ISNULL(E.Y,0) AND E.V=t.V AND E.ADRES=t.ADRES
)
第一步是在SSMS中運行它,按CTRL-L和觀察查詢計劃。它會建議可能有幫助的索引。 –
問題可能真的在任何地方 - 這取決於表的大小,索引等 - 顯示您的查詢計劃! – Charleh
在'ON'和'WHERE'子句中使用'CONVERT'會限制優化器使用索引的能力。從'DATETIME'提取日期的索引計算列可能會有所幫助。 – HABO