sql - 具有数千个插入的 MySQL 事务 - 它需要多少个 "round trips"?

标签 sql mysql database

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

它创建一个事务,执行几千个插入命令,然后提交。 现在我的问题是有多少“往返”,可以这么说,发生在数据库服务器上?我的意思是,它只是将每个插入命令传输到数据库服务器,还是缓存/缓冲它们并分批发送?这是否可以以任何方式配置?

最佳答案

MySQL 有一个可以使用的扩展 SQL 风格,其中一次插入多个:

INSERT INTO `table` (`id`, `event`)  VALUES (1, 94263), (2, 75015), (3, 75015);

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

关于sql - 具有数千个插入的 MySQL 事务 - 它需要多少个 "round trips"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/110894/

相关文章:

mysql - 如何加快 MYSQL FullText 的搜索或更改查询

mysql - 使用联接更新查询。计数器按行数增加

sql - 如何将 SQL 导入 R 的 dplyr?

php - SQL JOIN——两个团队,一个标识数据库

mysql - 自动递增表 ID,包含字母和数字的混合

mysql - 选择具有最大 id 值的表行

PHP pdo 实例作为私有(private)静态属性

sql - 拆分 SQL 语句

mysql - 查询寻找得分最多的人

python - cursor.fetchone() 返回 None 即使值存在