C# 通过SQL命令更新大型数据集
我目前正在处理一个导入文件,其中包含460000行数据。每行由一个ID和一个数量组成(例如“1120”)。此信息从文件中读取,然后应用于更新数据库中的每一行(例如,更新项目集数量=数量,其中id=1) 不过,我面临的问题是,实际上能够有效地运行查询。如果我为每一行运行一个单独的查询,它实际上是不起作用的(正如我发现的困难的方式) 我不是一个SQL用户,我现在正在学习,但从我所看到的,网络似乎没有任何有用的结果 我想知道是否有人有更新如此大数据集的经验,如果有,他们是否愿意分享实现这一点的方法?C# 通过SQL命令更新大型数据集,c#,mysql,sql,C#,Mysql,Sql,我目前正在处理一个导入文件,其中包含460000行数据。每行由一个ID和一个数量组成(例如“1120”)。此信息从文件中读取,然后应用于更新数据库中的每一行(例如,更新项目集数量=数量,其中id=1) 不过,我面临的问题是,实际上能够有效地运行查询。如果我为每一行运行一个单独的查询,它实际上是不起作用的(正如我发现的困难的方式) 我不是一个SQL用户,我现在正在学习,但从我所看到的,网络似乎没有任何有用的结果 我想知道是否有人有更新如此大数据集的经验,如果有,他们是否愿意分享实现这一点的方法?
- 460000行是一个小数据集。真的很小
- 批量插入tempoary表,然后使用update命令在一次运行中对原始数据运行更新
- 460000行是一个小数据集。真的很小
- 批量插入tempoary表,然后使用update命令在一次运行中对原始数据运行更新
适当时放弃导入表。一旦这一切都按您所希望的方式进行,您就可以使用存储过程完成整个工作,并在处理导入的数据时使用一个临时表来处理它。460k行并不多,因此您应该可以在那里使用 我建议将整个数据集导入临时表或表变量。要使解决方案工作,首先创建一个实际的物理表,在工作时可以删除或截断该表 创建表,然后将所有数据导入其中。然后,根据此导入表的联接更新表
适当时放弃导入表。一旦这一切按您所希望的方式进行,您就可以使用存储过程完成整个工作,并在处理导入的数据时使用临时表来处理它。在SQL中创建一个用户定义的表类型,该表类型有两列:id和quantity。然后在VB中创建一个包含两列的datatable:id和quantity,然后将datatable作为参数从VB发送到SQL。
如果我对每一行运行一个单独的查询,它实际上将不起作用
为什么会这样?导入文件的格式是什么?在SQL中创建一个包含两列的用户定义的表类型:id和quantity。然后在VB中创建一个包含两列的datatable:id和quantity,然后将datatable作为参数从VB发送到SQL。如果我对每一行运行一个单独的查询,它实际上将不起作用
为什么会这样?导入文件的格式是什么?