使用C#MySQL连接器进行批量更新的最快、最有效的方法是什么

本文关键字:有效 是什么 方法 更新 连接器 C#MySQL 使用 | 更新日期: 2023-09-27 18:23:43

在用户发布表单后,我需要使用C#MySQL Connector/NET更新大约500行。我正在重用同一连接,但我正在执行多个ExecuteNonQuery,这给我带来了性能问题。

解决这个问题的最佳方法/最佳实践是什么?

  • 我应该创建一个超长的SQL字符串吗?如果是,我该如何处理每一行都有特定的参数值和变量
  • 有流媒体接口吗
  • 是否存在最佳批量接口

请注意,出于安全考虑,我更喜欢使用参数变量,而不是纯文本。例如"插入xxx(a,b,c)值(@a,@b,@c)",但如果这是一个不可能的约束,请告诉我。

使用C#MySQL连接器进行批量更新的最快、最有效的方法是什么

如果只有500行左右,我倾向于只构建长SQL字符串并执行一次

Insert into MyTable (a, b, c) values (1,2,3), (2, 3, 4)

构建"(1,2,3),(2,3,4)"部分的位置。

您可以将更新批量处理为50个。使用带编号的参数名称INSERT INTO xxx (a, b, c) VALUES (@a_1, @b_1, @c_1)为50个更新构建SQL查询。然后动态创建具有相同名称的参数。

你说你需要更新,但你的代码显示了插入。如果你真的在做插入,你可能应该用一个insert语句插入多行(我认为MySQL支持这一点)。

相关文章: