2009-07-10 48 views
1

我正在製作一個應用程序,用於分析已存儲到SQL CE數據庫的實時數據。當我現在使用LINQ to SQL測試應用程序時,我得到的結果很慢,我需要重新思考如何執行此操作。LINQ to SQL(CE)速度與SqlCe

爲了節省我一些時間,我能相信L2S和'舊'SqlCe方法一樣快嗎?我喜歡L2S,並且願意繼續使用它,如果你的經驗表明它和任何其他數據庫連接一樣快,我可以放心,我不會通過將舊的SQL語句重寫爲L2S來提高性能。

回答

2

使用SqlCE時的瓶頸不是源自從Linq生成的Sql SQL。請記住,CE是一個正在進行的數據庫,因此具有侷限性。例如,無論您使用什麼查詢,左外連接都是一個災難。插入和更新並不壞,但是如果你要做大量的任何一個,你會遇到一些嚴重的性能問題。我的觀點是,緩慢不是因爲LINQ to SQL。我過去已經對它進行了基準測試(不知道我是否仍然擁有該代碼),並且從我記憶中來看,Linq to SQL並沒有比使用ADO.NET直接查詢它慢。性能問題是由於CE本身的限制。

+0

我希望我可以使用SQL Express,但我需要2-3個用戶才能使用該應用程序,而且我無法全天候運行SQL Express服務器。 SQLCE是我知道的唯一可以讓用戶在沒有運行SQL服務器的情況下共享數據的備選方案。 – rozon 2009-07-11 09:21:02

2

如果使用來自去年的PDC的SQL CE this video是非常具有信息性的。我們關於如何優化全面SQL Server查詢的想法並不總是適用,並且有時會損害SQL CE上的性能。

我建議你看看它,因爲主講人解釋了這些差異,並做了基準測試以顯示結果。 Here你可以找到他的博客鏈接。