Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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# 通过SQL命令更新大型数据集_C#_Mysql_Sql - Fatal编程技术网

C# 通过SQL命令更新大型数据集

C# 通过SQL命令更新大型数据集,c#,mysql,sql,C#,Mysql,Sql,我目前正在处理一个导入文件,其中包含460000行数据。每行由一个ID和一个数量组成(例如“1120”)。此信息从文件中读取,然后应用于更新数据库中的每一行(例如,更新项目集数量=数量,其中id=1) 不过,我面临的问题是,实际上能够有效地运行查询。如果我为每一行运行一个单独的查询,它实际上是不起作用的(正如我发现的困难的方式) 我不是一个SQL用户,我现在正在学习,但从我所看到的,网络似乎没有任何有用的结果 我想知道是否有人有更新如此大数据集的经验,如果有,他们是否愿意分享实现这一点的方法?

我目前正在处理一个导入文件,其中包含460000行数据。每行由一个ID和一个数量组成(例如“1120”)。此信息从文件中读取,然后应用于更新数据库中的每一行(例如,更新项目集数量=数量,其中id=1)

不过,我面临的问题是,实际上能够有效地运行查询。如果我为每一行运行一个单独的查询,它实际上是不起作用的(正如我发现的困难的方式)

我不是一个SQL用户,我现在正在学习,但从我所看到的,网络似乎没有任何有用的结果

我想知道是否有人有更新如此大数据集的经验,如果有,他们是否愿意分享实现这一点的方法?

  • 460000行是一个小数据集。真的很小

  • 批量插入tempoary表,然后使用update命令在一次运行中对原始数据运行更新

      • 460000行是一个小数据集。真的很小

      • 批量插入tempoary表,然后使用update命令在一次运行中对原始数据运行更新


      460k行不是很多,所以你在那里应该没问题

      我建议将整个数据集导入临时表或表变量。要使解决方案工作,首先创建一个实际的物理表,在工作时可以删除或截断该表

      创建表,然后将所有数据导入其中。然后,根据此导入表的联接更新表


      适当时放弃导入表。一旦这一切都按您所希望的方式进行,您就可以使用存储过程完成整个工作,并在处理导入的数据时使用一个临时表来处理它。

      460k行并不多,因此您应该可以在那里使用

      我建议将整个数据集导入临时表或表变量。要使解决方案工作,首先创建一个实际的物理表,在工作时可以删除或截断该表

      创建表,然后将所有数据导入其中。然后,根据此导入表的联接更新表


      适当时放弃导入表。一旦这一切按您所希望的方式进行,您就可以使用存储过程完成整个工作,并在处理导入的数据时使用临时表来处理它。

      在SQL中创建一个用户定义的表类型,该表类型有两列:id和quantity。然后在VB中创建一个包含两列的datatable:id和quantity,然后将datatable作为参数从VB发送到SQL。
      如果我对每一行运行一个单独的查询,它实际上将不起作用
      为什么会这样?导入文件的格式是什么?在SQL中创建一个包含两列的用户定义的表类型:id和quantity。然后在VB中创建一个包含两列的datatable:id和quantity,然后将datatable作为参数从VB发送到SQL。
      如果我对每一行运行一个单独的查询,它实际上将不起作用
      为什么会这样?导入文件的格式是什么?