問題:
一個程序查詢經常超過20siis限制時間,排查問題后發現其中的一個存儲過程時間會在15s左右
解決思路:
1:確認問題點
通過輸出時間的方式查看存儲過程中每個部分的執行時間,找到最耗時的三個過程
2:解決問題
發現查詢過程中出現 with nolock ,對於查詢過程沒有用處,刪除
先思考是否建立索引,發現有一個重要查詢條件沒有索引,建立索引后查詢時間從8s秒降低到7秒
最后看到group by 會導致時間變長,加OPTION(hash group)減少group by 的影響




結果:最終單個查詢過程的時間從9S=》0S ,總查詢過程從15S=》1S
原理:
還在學習sql 中關於 option (hash group )的內容,學會了在分享原理吧。