C# 在c上优化mysql数据库中的插入#
我在两个完全不同且分离的用例中向数据库中插入行:C# 在c上优化mysql数据库中的插入#,c#,mysql,database,insert,C#,Mysql,Database,Insert,我在两个完全不同且分离的用例中向数据库中插入行: 一次插入5000行 每秒多次在单独调用中插入1-10行 在这两种情况下,我目前使用的方法类似于。如果你用谷歌多行插入c#mysql,stackoverflow上的许多帖子似乎都会出现 我觉得我使用的方法对于我的两个用例都不是最优的,尤其是1。但我无法从csv中插入。有没有更快的方法?准备一条语句,启动一个事务,插入X行,提交,重复。这种方法花费1个HDD I/O来插入X行,从而最佳地使用HDD带,并允许最佳插入速率。@Mjh一次执行多个插入有一种
多行插入c#mysql
,stackoverflow上的许多帖子似乎都会出现
我觉得我使用的方法对于我的两个用例都不是最优的,尤其是1。但我无法从csv中插入。有没有更快的方法?准备一条语句,启动一个事务,插入X行,提交,重复。这种方法花费1个HDD I/O来插入X行,从而最佳地使用HDD带,并允许最佳插入速率。@Mjh一次执行多个插入有一种简单的方法吗?mysqls自己的页面一次循环1次,所以我假设其他方面没有,一次执行=一次插入。最重要的是,您可以在循环中重复执行。这是处理插入的最佳方式。如果使用事务/提交来包装循环,则指示MySQL为在循环中执行的所有插入花费1个磁盘I/O。@Mjh
INSERT-INTO-tbl_-name(a,b,c)值(1,2,3)、(4,5,6)、(7,8,9)如何代码>?仍然是一次插入一个?是的,但是解析(对于MySQL)更复杂,而且由于一次发送所有数据,您正在增加网络数据包的长度。编写一次语句、多次提交参数并多次执行是一种方法。您提出的方法实际上要慢得多,而且更容易出错。