2017年8月5日 星期六

[SQL Server] 案例分析 : 誤用Local Variable造成效能問題

案例情境
我們的資料庫中有個資料表存放有關訂單的相關資訊,訂單的狀態分為三種:Confirmed, Pending, Canceled,其中Confirmed的訂單占了全部的百分之99以上,剩下的少數才是PendingCanceled的。
此時,我們另外有個
Job會定期去檢視Pending的訂單有那些,客服會查看這些訂單並去處理。
但這個
Job隨著訂單越來越多,查詢時間變得非常的久,其中原因是當初誤用了Local variable增加可讀性,反而造成了嚴重的效能問題