2011-08-28 78 views
0

我正在通過web應用程序將大型excel文件導入到SQL中,每一行中的每一列都被轉換爲一個業務對象和該對象的每個屬性。c#代碼性能導入和分析csv文件

由於fie是一個csv,我在代碼中執行了很多驗證,比如檢查數據庫值的屬性值,if語句,case開關等等,並且這個函數在處理時會導致很大的CPU負載。

什麼是處理這些數據的更好方法?

+0

如何使用ADO.net連接到excel文件並使用某種ORM? –

+1

你是否運行了剖析器下的代碼來查看什麼是緩慢的? – Douglas

+0

我和我的pos數據有同樣的問題。 – shenhengbin

回答

1

考慮將數據上傳到登臺表like so並使用設置邏輯而不是行邏輯執行驗證。這樣可以避免必須根據對象解析對象,並且應該將CPU開銷轉移到不同的服務器上(如果應用程序服務器功率不足)並減少所需的CPU應變。

+0

你有鏈接或例子驗證使用設置邏輯? –

+1

我猜Tahbaza建議你做一個sql批量複製到一個臨時表中,並使用sql語句進行驗證(或部分驗證),在這裏你可以攻擊一組「行」而不是逐行循環。 – Arun