關閉。這個問題需要細節或清晰。它目前不接受答案。
想改進這個問題?通過編輯此帖子添加詳細資訊并澄清問題。
6 小時前關閉。
改進這個問題我有一個包含一些資料的串列和一個包含相同資料的資料庫表。我想通過復雜的 LINQ 查詢獲取一些資料。你認為我應該使用哪一套來提高速度。我的意思是 SQL 與 C#。
我使用串列方式,因為我認為連接到資料庫需要一些時間。我不知道如何進行基準測驗?
uj5u.com熱心網友回復:
如果不了解您的情況,就不可能肯定地說。
通常訪問已經在記憶體中的資料將比連接到資料庫快得多,因為 I/O 操作比記憶體訪問慢幾個數量級。
但是,如果您有一個大型資料集,并且您的查詢在結果中只包含少量資料,那么資料庫可能會利用索引來更快地獲取您請求的資料。以這種方式始終如一地利用資料庫可以幫助您避免首先將整個資料集加載到記憶體中,從而總體上降低記憶體壓力。
最終,如果你已經讓它作業了,而且它的作業速度足夠快,不會有明顯的延遲,我可能會堅持你所擁有的,而不是對其進行超優化。
一些你絕對不想做的事情:
- 不要使用
.ToList()
或.AsEnumerable()
從資料庫中加載整個資料集,然后在每次請求資料時將查詢應用于記憶體中的所有資料。 - 不要將記憶體串列轉換為 IQueryable (
.AsQueryable()
),然后將查詢邏輯應用到它。這只會在運行時強制執行大量編譯操作。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/522178.html
下一篇:使用GroupBy對多個變數求和