我正在做一个项目,我们从多个来源接收数据,这些数据需要保存到我们数据库中的各种表中。
快速地。
我玩过各种方法,到目前为止我发现最快的是使用 TableValue 参数的集合,填充它们并通过相应的存储过程集合定期将它们发送到数据库。
结果相当令人满意。但是,查看磁盘使用情况(Perfmon 中的 % Idle Time),我可以看到磁盘定期“抖动”(每 13-18 秒“峰值”下降到 0%),而在 %Idle 时间之间90%左右。我尝试过改变“批量”大小,但影响不大。
- 我是否应该能够通过(以某种方式)在减少总体空闲时间的同时避免峰值来获得更好的吞吐量?
- 我应该注意哪些事情来确定尖峰发生的位置?(数据库处于简单恢复模式,并且预先设置为“大”,因此不是日志文件在增长)
- 奖励:我已经看到其他有关将数据“流式传输”到数据库的问题,但这似乎涉及
Stream
来自另一个数据库的数据(此处的最后一节)。有什么办法可以将数据“推入”其中吗?