我的软件可以采用两种不同的配置进行部署:一种是我会在一天中零散地不时接收到单个数据点的微量输入,另一种是在一天结束时获得所有数据的转储。对于最后的全量数据转储,显然,我将使用可配置批大小的
然而,为了简便起见,我想在微量输入中只使用相同的代码,并将批大小设置为 1。这样做是否会有显著的开销?对于微量输入,使用单个
工作流程如下:
SqlBulkCopy()
命令。然而,为了简便起见,我想在微量输入中只使用相同的代码,并将批大小设置为 1。这样做是否会有显著的开销?对于微量输入,使用单个
INSERT
调用是否更好?工作流程如下:
ICollection<MyClass> dataPoints = ...;
public void AddDataPoint(MyClass data)
{
dataPoints.Add(data);
if (dataPoints.Count >= ConfigurableBatchSize)
{
DoBulkCopy(dataPoints); // converts MyClass objects into rows of a DataTable, etc
}
}