原創|使用教程|編輯:龔雪|2014-01-26 09:45:11.000|閱讀 236 次
概述:Linq to SQL Profiler是由以色列著名公司Hibernating Rhinos開發出來的數據庫工具。并且該軟件是由 OR/M 社區的高層領導人親自開發設計,能夠精準的幫助優化App的冗余的代碼。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
對數據庫進行遠程請求是在App里最“昂貴”的一種操作方式,越過本地機器和進程進行遠程請求,其代價都是相當“昂貴”的,因為這需要消耗掉系統的大量資源。
無論是查詢還是寫入,對數據庫都會進行遠程請求。理論上,我們是需要將遠程請求的數量減少到最低。如果當Linq to SQL Profiler檢測到某一個request對數據庫進行了大量的請求時就會發出提示。導致請求過多通常有以下幾點原因:
對于第一個原因和Select N + 1有關,請具體參考上一篇文章。
對數據庫進行了循環的請求模式通常來講就是一個BUG,應該要注意避免。我們可以對代碼進行重建以取消對數據庫的循環請求。
最后兩個原因則需要individual basis來解決。有的時候使用另外一種不一樣的方法比如批量插入、批量拷貝,或者具體的查詢、存儲程序等一次性的從數據庫里獲得所有數據。
另外,session也會出現對數據庫請求多次的情況。造成這種情況的原因跟上面列舉的四點是一樣的。解決方法也大相徑庭。只是針對于最后一點:我們執行的任務里含有大量的不同的查詢,有另一種更加簡單的辦法。那就是利用Linq to SQL Profiler自帶的一個查詢批處理功能,叫futures,它可以讓我們將幾個不同的查詢集合起來,只對數據庫進行一次請求。這樣一來我們就能有效的減少對數據庫的請求次數從而讓App的性能有大幅度的提高。
>>歡迎免費下載和試用Linq to SQL Profiler
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn