首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >运行一个插入与多个插入之间的性能差异是什么

运行一个插入与多个插入之间的性能差异是什么
EN

Stack Overflow用户
提问于 2011-07-07 02:21:43
回答 3查看 215关注 0票数 2

我目前正在构建一个脚本,我知道该脚本需要插入多行。我是用Perl来做这件事的,所以在参数化方面,单独插入每一行要容易得多。就速度而言,我猜只运行一条insert语句会更快(尽管延迟会相对较低,因为我离数据库本身很近)。我认为每次运行脚本的行数平均约为20-40行。也就是说,仅运行一条INSERT INTO语句与为每行运行一条INSERT INTO语句之间的大致性能差异是什么?注意:服务器运行的是SQL 2008。

EDITSince似乎有很多困惑,我想澄清的是,我真正想要的是SQL Server2008如何处理多行插入背后的理论。它本质上只是在内部将其转换为一堆单独的insert语句,并在一个连接上运行这些语句,还是做一些更智能的事情?

是的,我知道我可以运行定时循环。不,这不是我想要的。/EDIT

EN

Stack Overflow用户

回答已采纳

发布于 2011-07-07 04:30:36

将多个插入合并到一个命令中总是会比执行单独的插入更快地执行。原因是:

  • 很多工作都是解析SQL完成的-对于多版本,只有一次解析工作
  • 更多的工作是完成权限检查-再说一次,只有当
  • 数据库连接“聊天”时才完成-对于多版本,握手只做一次。当使用较差的网络connection
  • Finally,多版本时,您会真正注意到此问题,从而为服务器提供了优化

操作的机会

票数 5
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6601126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档