2011-03-17 58 views
0

我使用存儲過程從數據庫中獲取數據和修改。 如果我使用LINQ進行相同的工作,會不會有任何性能問題?我的意思是我會獲得更好的表現嗎?我看到LINQ語法有點複雜,所以有什麼工具可以幫助我生成LINQ語法。LINQ和性能

感謝

+1

請參閱相關問題:http://stackoverflow.com/questions/4044400/linq-performance-faq,http://stackoverflow.com/questions/1229838/linq-performance,http://stackoverflow.com/問題/ 3584059/linq-performance – ChrisF 2011-03-17 13:11:09

+1

投票結束,主觀/議論。需要更多的肉,而不僅僅是「請討論所有問題」。 – user7116 2011-03-17 13:33:19

回答

2

有反對使用LINQ2SQL VS調用存儲過程產生輕微的性能影響;首先,可以編譯和存儲存儲過程,以便後續調用更快,並且在Linq2Sql爲您生成語句的T-SQL Land VS中有更多的控制和選項。

但是,除非您的網站流量大量增加,否則如果您正在尋找一種簡單的方法來設置網站,則沒有理由不使用它。

2

一般來說,LINQ不會超過存儲過程的性能。畢竟,Linq2Sql生成SQL並且永遠不會比寫得很好的存儲過程更好。

Linq2sql,如果使用不當,可能會損害性能。這通常是由不瞭解延遲加載原則並可能導致大量查詢的開發人員造成的。

它將在哪裏創建性能問題是批量操作。這是一個你不想使用Linq2Sql但你需要SqlBulkCopy或存儲過程的區域。

儘管如此,我使用它很多,很高興一般。

2

LinqPad是一個免費的程序,可以學習LINQ。它裝載了500個例子。

+1

雖然LinqPad確實是一種學習Linq的好方法,但它與問題無關,因爲它無助於確定Linq與存儲過程的性能優劣。 – 2011-03-17 18:40:04

+2

這不完全是真的,問題的第二部分討論了可以幫助生成LINQ語法的任何工具,而LinqPad就是其中之一... – Pleun 2011-03-17 23:14:04

+0

@Franci正如Pleun所說,我問的是問題的第二部分。無論如何,我認爲在同一篇文章中提出兩個問題並不是一個好主意。 – 2011-03-19 15:53:53