Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 使用批更新进行插入_Sql Server_Pentaho - Fatal编程技术网

Sql server 使用批更新进行插入

Sql server 使用批更新进行插入,sql-server,pentaho,Sql Server,Pentaho,我正在pentaho工具中使用表输出组件。在我选中“use batch update for insert”后,它应该作为一个insert语句运行于所有记录中 其中as insert就像我使用探查器发现的一个接一个插入脚本一样发生,如下所示 insert into #temp values('a') insert into #temp values('b') insert into #temp values('c') 但是“对插入使用批处理更新”的行为不应该像每个插入查询一样。 关于这个问题,

我正在pentaho工具中使用表输出组件。在我选中“use batch update for insert”后,它应该作为一个insert语句运行于所有记录中

其中as insert就像我使用探查器发现的一个接一个插入脚本一样发生,如下所示

insert into #temp values('a')
insert into #temp values('b')
insert into #temp values('c')
但是“对插入使用批处理更新”的行为不应该像每个插入查询一样。 关于这个问题,谁能给我一些建议

期望:

insert into #temp values('a'),('b'),('c')

如果我错了,请纠正我,但我相信具有多个
值的单个
INSERT
语句是多个
INSERT
语句的语法糖-也就是说,两者之间没有区别。我相信您需要使用
OPENROWSET
提示才能真正获得性能优势。@dai我特别要求使用sql server的pentaho工具。我知道在sql server中使用OPENROWSET的情况。具体到tool@Dai,Wiki()建议
使用批插入
选项只是将多个插入封装在一个批中,以避免往返。@DanGuzman ya完全正确。如果我们检查并取消选中该选项,您能说出该选项的行为吗?关于上述问题,如果我们检查并取消选中该选项,它将遵循哪种插入行为。@Dai,我的期望是,在取消选中该选项时,每个插入都将以单个批次发送。当检查并满足文档中列出的要求时,将发送一批包含许多insert语句的单批。重要的是,批量插入的提交大小必须大于零。这也应该提高性能。