首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有数千次插入的MySQL事务--需要多少次“往返”?

有数千次插入的MySQL事务--需要多少次“往返”?
EN

Stack Overflow用户
提问于 2008-09-21 12:26:22
回答 8查看 9.4K关注 0票数 11

我有通过ODBC访问MySQL的C#代码。

它创建一个事务,执行几千个插入命令,然后提交。现在我的问题是,在数据库服务器上发生了多少次“往返”?我的意思是,它是简单地将每个insert命令传输到DB服务器,还是缓存/缓冲它们并成批地发送它们?这是可配置的吗?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2008-09-21 12:53:22

MySQL有一种可以使用的扩展SQL风格,其中批量插入一次放在几个位置:

代码语言:javascript
复制
INSERT INTO `table` (`id`, `event`)  VALUES (1, 94263), (2, 75015), (3, 75015);

在运行SQL查询之前,我通常会将几百个插入部分收集到一个字符串中。这将通过自己批量处理它们来减少解析和通信的开销。

票数 19
EN

Stack Overflow用户

发布于 2010-12-31 03:35:15

对行数本身没有限制;限制是传输到服务器的字节数。

您可以构建大容量插入,直到在“最大允许的数据包”中指定的字节数。如果我想使用最少的插入,我会尝试这样做。

票数 4
EN

Stack Overflow用户

发布于 2008-09-21 12:37:37

它为您提交的每个查询执行一次往返(无论它是否在事务中)。

在MySQL中,可以使用“扩展插入”语法,它允许您在一条语句中插入多个(或者实际上是多个)行。这通常被认为是一件好事。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/110894

复制
相关文章

相似问题

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