原創|使用教程|編輯:龔雪|2014-01-20 09:26:38.000|閱讀 214 次
概述:Linq to SQL Profiler是由以色列著名公司Hibernating Rhinos開發出來的數據庫工具。并且該軟件是由 OR/M 社區的高層領導人親自開發設計,能夠精準的幫助優化App的冗余的代碼。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
常見注意事項:不同的參數大小會導致查詢計劃緩存的使用效率低下
當Linq to SQL Profiler分析器檢查到相同的語句使用了不同大小的相同參數后會導致什么問題?現在我們來假設一種查詢情況:根據名字來找到用戶(下面我們會用到一種語法來顯示出參數的大小以達到演示的目的)。我們可以使用如下的查詢方式:
exec sp_executesql N'SELECT * FROM Users WHERE Username = @username', N'@username nvarchar(3)', @username=N'bob' exec sp_executesql N'SELECT * FROM Users WHERE Username = @username', N'@username nvarchar(4)', @username=N'john'
由于不同大小的參數,這串代碼會導致讓數據庫查詢緩存里出現兩種查詢計劃。實際上,如果我們假設用戶名的長度是16位字符,那么這次查詢就會在查詢緩存里占用16位。
更糟糕的是,如果還會出現參數大小發生改變的情況,例如用戶名的長度和密碼長度都為最長時(16位字符),就有可能占用查詢緩存里的256位。因此很明顯的是,如果使用的參數越多,或是參數的長度越長,那么占用查詢緩存的資源就會急速增加。而如果當多個查詢同時發生時,對于系統內存的消耗將是難以接受的,這很可能會導致性能出錯。
在Linq to SQL 4.0,這個問題已被解決,方式是通過調用GetCommand來手動設置參數的長度,然后通過使用轉換的功能來獲得查詢結果。
>>歡迎點此免費下載和試用Linq to SQL Profiler
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn