2012-08-16 70 views
1

我們有一臺服務器,它接收的數據可以轉換爲我的數據庫中的任意數量的行(1-1000)。目前,每個請求數據分別與數據庫的BULKINSERTed。bulkinsert插入大小的優化

問題是請求率比較高,加載數據庫。 一個地役權是我們可以將數據插入到離線狀態(並且在到達時不立即)。這可以在一次調用中啓用BULKINSERTing幾個請求。我們正在尋找現有的解決方案(最好是C#/ MSSQL),因爲這聽起來不是一個獨特的情況。

謝謝

回答

1

我正在使用的當前系統每秒收到數百條消息。我們驗證並將這些消息轉換爲POCO對象並將它們添加到不同類型的列表中。每隔10秒我們都會使用SqlBulkCopy切換列表並將舊列表批量複製到數據庫。我已經做了一篇關於此的博客文章使用SqlBulkCopy with List T

+0

這基本上是完美的方法。如果您處於ASP.NET或WCF的上下文環境中,則可能需要確保在應用程序關閉時所有情況下均會寫入掛起的插入。 – usr 2012-08-16 09:14:57