1
我有兩個表:優化緩慢更新查詢
1)Testone - 具有100K行和1個索引和6非聚集索引
2)Testtwo - 具有316萬行,1指數和4非聚集索引
我有update語句需要優化下列一個因執行該查詢時,花更多的時間,你可以請幫我,最好的辦法..
update mp
set mp.ModelInfoID = mi.ModelInfoID
from Testone mp
inner join Testtwo mi on mp.ModelNumberStr = replace(replace(mi.Model, '/', ''), '-', '')
where MemberID is not null and mp.ModelInfoID is null
使用替換(或任何其他)函數的連接將執行可怕!您需要將您的表格加入到一個共同的索引列中。如果沒有一個,那麼你的查詢將無法在數百萬行中表現良好。 – beercohol
也許添加一個[計算列](https://msdn.microsoft.com/en-us/library/ms188300.aspx)到testtwo而不是內聯替換(替換。然後計算列可用於索引產生可觀的結果 – xQbert