小编Fre*_*lin的帖子

如何将DataAdapter.UpdateBatchSize设置为"最佳"值?

我终于让我的插件批次工作了,现在我一直在摆弄批量的大小,但是我看不到值50和值10000之间的性能差异.这似乎很奇怪我,但我不知道幕后发生了什么,所以这可能是正常行为.

我在表中插入160k行,测试值的平均时间为115 +/- 2秒.没有批处理需要210秒,所以我对改进非常满意.目标表是:

CREATE TABLE [dbo].[p_DataIdeas](
    [wave] [int] NOT NULL,
    [idnumber] [int] NOT NULL,
    [ideaID] [int] NOT NULL,
    [haveSeen] [bit] NOT NULL CONSTRAINT [DF_p_DataIdeas_haveSeen]  DEFAULT ((0)),
  CONSTRAINT [PK_p_DataIdeas] PRIMARY KEY CLUSTERED 
(
  [wave] ASC,
  [idnumber] ASC,
  [ideaID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON
) ON [PRIMARY]
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)

在设置UpdateBatchSize时阅读了要查找的内容,答案是简单地测试几个不同的值.我能理解这一点,但如果您知道表格设计,SQL问题和即将插入的数据,是否应该可以计算或至少猜测一个好的值?

有没有人可以推荐的最佳实践?

performance ado.net updatebatchsize

7
推荐指数
1
解决办法
4595
查看次数

标签 统计

ado.net ×1

performance ×1

updatebatchsize ×1