2013-01-24 60 views
0

我正在開發一個類似API的REST,其中將創建初始日誌調用,創建數據庫行以及「登錄會話密鑰」(GUID/uniqueidentifier)被退回給客戶。此密鑰隨後將用於所有隨後對API的調用,作爲安全檢查,直至註銷。在EVERY API調用中,我計劃要求數據庫使用鍵查找行,並且如果行的時間戳尚未過期,則允許API提供所需的服務。用於許多API登錄密鑰查找的LinqToSQL或純SQL

對於每個「登錄會話」可能發生數百次的簡單select語句,在這種情況下,純SQL預格式比LinqToSQL更好嗎?

+1

這也許能幫助 - 我認爲簡單的答案是這取決於:http://stackoverflow.com/questions/494816/using-an-orm-or-plain-sql – sgeddes

+0

? linq-to-sql是一個ORM - 我錯了嗎? – sgeddes

+0

由於Linq2SQL必須生成SQL,Pure SQL始終會比Linq2SQL執行得更好。但Linq2SQL在大多數情況下使用非常方便。 (我用它爲大多數數據庫的東西) – Magnus

回答

1

純SQL應該比LinqToSQL執行得更好(如果有的話,因爲它不需要首次構建和緩存查詢),但是,這取決於用戶數量,服務器功能以及這些「數百次「會發生,如果你應該關心它。

1

這是一篇從2008年開始的長文章(5部分),通過適當的調整進行了說明,他能夠以較少的時間獲得Linq-to-sql的執行效果,以及直接執行ADO.NET sql調用在建立查詢。希望能幫助到你!

http://blogs.msdn.com/b/ricom/archive/2007/06/22/dlinq-linq-to-sql-performance-part-1.aspx

下面是測試的另一批讀取XML文件時,實際上顯示的LINQ中插入場景的贏家,有輕微的邊緣。

http://www.codeproject.com/Articles/26431/Performance-Comparisons-LINQ-to-SQL-ADO-C#_Toc193731671

+0

'實際上說明了Linq在大多數場景中都是勝利者,實際上,該文章僅將其標記爲數據庫訪問 – Jcl

+0

@Jcl的插入場景中的勝者。你是對的。我匆匆過了一下:)。我更新了我的答案,以正確反映文章 –