Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在c上优化mysql数据库中的插入#_C#_Mysql_Database_Insert - Fatal编程技术网

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一次执行多个插入有一种

我在两个完全不同且分离的用例中向数据库中插入行:

  • 一次插入5000行

  • 每秒多次在单独调用中插入1-10行

  • 在这两种情况下,我目前使用的方法类似于。如果你用谷歌
    多行插入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)更复杂,而且由于一次发送所有数据,您正在增加网络数据包的长度。编写一次语句、多次提交参数并多次执行是一种方法。您提出的方法实际上要慢得多,而且更容易出错。