asp.net - 使用 ASP.NET 从 Excel 更新大型 MySQL 数据库

标签 asp.net mysql

我们有一个带有 MySQL 后端数据库的 Web 应用程序。 Master表大约有170000条记录。客户端功能允许他/她上传具有与 Master 中相同的列的 Excel 工作表,并包含大约更新的 1000 条记录。目标是根据 id 列(两端都存在)更新 Excel 主表,但仅更新少数列。响应时间是一个关键因素。

那么我们在ASP.NET中所做的事情如下:

  1. 将 Excel 工作表上传到服务器
  2. 创建一个数据表并更新其中Excel工作表的所有内容
  3. 现在根据某列属性查询Excel数据库并逐条更新记录

目前,此过程大约需要 19 分钟才能更新约 1300 条记录。那么怎样才能提高更新速度呢?

我们还观察到像下面这样的 MySql 更新查询也需要很多时间:

update " + Session["Circle"].ToString() + ".retail n," + Session["Circle"].ToString() + ".upload o set n.VillageName=o.VillageName, n.TehsilName=o.TehsilName, n.DistrictName=o.DistrictName, where n.Retailer_MSISDN=o.Retailer_MSISDN; 

最佳答案

确保 Retailer_MSISDN 是唯一的并已编入索引。您可以通过以下方式为 Retailer_MSISDN 创建索引:

ALTER TABLE my_table  
ADD INDEX Retailer_MSISDN(Retailer_MSISDN);

按索引列进行查找将减少查找时间。

关于asp.net - 使用 ASP.NET 从 Excel 更新大型 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18134465/

相关文章:

php - 查询操作数据库

java - 从 javafx 中的另一个窗口设置 TextField 的值

mysql - SQL 的 Replace() 如何匹配?

mysql - mysql中如何根据另一行的值选择或不选择一行

php - 如何查看某人是否在线?

c# - 无法连接到我的本地 LDAP 服务器 : "the server is not operational"

c# - asp.net 在部分 View 中使用与其父 View 不同的模型?

c# - 如何在我的 ASP.NET 应用程序中长时间使用 Session

c# - 为 StringLength 属性使用参数

详细信息 View 中的 ASP.NET 日期格式