我正在從一個項目,我們從多個來源接收數據,需要保存到我們的數據庫中的各種表。'流'數據到Sql服務器
快。
我玩過各種方法,目前發現的最快的方法是使用TableValue參數的集合,填充它們並定期通過相應的存儲過程集合將它們發送到數據庫。
結果相當令人滿意。然而,看看磁盤使用情況(Perfmon中的空閒時間百分比),我可以看到磁盤正在週期性地「震動」(每13-18秒一個「尖峯」降到0%),而在空閒時間爲大約90%。我試過改變'批量'的尺寸,但它沒有巨大的影響力。
- 我應該能夠(在某種程度上),以獲得更好的吞吐量避免尖峯,同時降低總體的空閒時間?
- 我應該注意哪些事情來確定發生尖峯的地方? (該數據庫處於簡單恢復模式,並預先設定爲'大',所以它不是日誌文件的增長)
- 獎金:我看到其他問題提到'流'數據到數據庫,但這似乎涉及從另一個數據庫中獲得
Stream
(最後一部分here)。有沒有什麼辦法可以將數據「推」到數據中?
這個* IS *更快(對於我的用例),並且似乎避免了令人討厭的磁盤尖峯(磁盤上有很多活動,但分佈更均勻)。 – Benjol