神奇的问题记录【SqlDataAdapter Fill DataSet】
生活随笔
收集整理的這篇文章主要介紹了
神奇的问题记录【SqlDataAdapter Fill DataSet】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天發現程序中有一張報表查詢速度很慢【全條件要二分鐘左右】,查找相關原因,準備進行優化處理。
注:報表調用存儲過程,存儲過程返回兩個table
就有以下神奇的故事:
直接將SQL語句在SSMS中執行發現全條件情況下也就6秒左右,跟二分鐘差太遠,
于是進行調試,發現在執行取得DataSet的時間發費有二分鐘左右,也確認了SQL語句
跟在SSMS中執行的一致,百思不得其解,優化SP也未能解決此問題,對比了類似存儲
過程的語句,發現唯一的區別是返回的兩個TABLE順序不一樣,正常速度的【類似存儲過程】
是數據比較小Table在后,數據大的Table在前,抱著死馬當活馬醫的心態修改了返回順序,
接下來就是見證奇跡發生的時刻了,程序神奇的快起來了,只要8秒左右了。
后來想還原現場,分析查找原因,再次調換順序后發現還是快起來了。
中間有執行【SET ARITHABORT ON】,只是不確定跟它有沒有關系。
完全想不通是什么原因,如有大神知道,請不吝告知,感激不盡!
特此記錄這神奇問題,下次如遇到可參考進行查找原因!
轉載于:https://www.cnblogs.com/ywkpl/p/3317337.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的神奇的问题记录【SqlDataAdapter Fill DataSet】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: print()的作用是什么?
- 下一篇: Webservice 或者HttpReq