最近我開始學習實體框架。實體框架查詢速度
在我的腦袋第一個問題是:
當我們要使用LINQ到EF獲取數據,這樣每個查詢:
var a = from p in contacts select p.name ;
將轉換到這樣的SQL命令:
select name from contacts
- 這是否每次我們查詢時間將重複?
- 我聽說存儲過程被緩存在數據庫中,這個事件是否發生在實體框架中的LINQ查詢中?
最後我的問題清楚了嗎?
最近我開始學習實體框架。實體框架查詢速度
在我的腦袋第一個問題是:
當我們要使用LINQ到EF獲取數據,這樣每個查詢:
var a = from p in contacts select p.name ;
將轉換到這樣的SQL命令:
select name from contacts
最後我的問題清楚了嗎?
有優化的各種製成,無論是在LINQ表達式緩存,哪些SQL服務器選擇緩存,唯一的辦法就是衡量廣告效果的速度和內存消耗
要查看SQL創建你可以使用我發現很好的http://efprof.com/。你可以通過SQL分析器得到這個信息的一些,這只是更多的工作。
我認爲linq查詢每次要執行時都要進行轉換。爲了提高性能,您可以使用compiled queries。
編譯查詢在EF中可用,對不對? – Shahin 2011-03-28 12:28:17
是的:http://msdn.microsoft.com/zh-CN/library/system.data.objects.compiledquery.aspx – 2011-03-28 12:29:44
http://www.codeproject.com/KB/linq/performance_comparisons.aspx http://www.codeproject.com/KB/linq/LINQquery.aspx http://dotnetkicks.com/architecture/Performance_comparison_between_Linq_NHibernate_and_Stored_Procs http: //geekswithblogs.net/iupdateable/archive/2009/03/17/linq-to-sql-and-linq-to-entities-entity-framework-performance.aspx – 2011-03-28 12:31:26