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 执行操作的最有效方式。
我在 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 执行操作的最有效方式。