SSIS - 批量插入每批选择多少行?

SSIS - Insert Bulk How many Rows per batch to choose?

我在 SSIS 中使用 批量插入 来填充 table SQL 中大约 1000 万行] 服务器。 我在谷歌上搜索了很多,但仍然找不到答案。

我应该选择每批多少行? 我应该选择多少最大插入提交大小

如果能收到每一个的解释就好了。

我已经对其进行了测试并更改了每批次的行数。到目前为止我收到的最好结果是 500 万。

感谢您的帮助!

对于BatchSize属性,我认为如果将其设置为0

,所有数据将被推送到一批

ROWS_PER_BATCH 应设置为您对 "total number of rows in source" 的估计值,因为 SQL 服务器随后会使用它来优化查询计划,以便在单个操作中加载此数据。

因此,根据我的解释,建议的设置应如下所示:

如果指定了 "Maximum insert commit size" 则不必费心设置 "Rows Per Batch" 因为它无论如何都会被忽略

如果未指定 "Maximum insert commit size",即保留为 0,则将 "Rows Per Batch" 设置为您对将加载的 "total number of rows" 的最佳估计,以便启用 SQL 服务器select 执行操作的最有效方式。