使用Excel从Excel更新大型MySQL数据库

时间:2013-08-08 19:28:17

标签: asp.net mysql

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

所以我们在ASP.NET中所做的工作如下:

  1. 将Excel工作表上传到服务器
  2. 创建数据表并更新其中的Excel工作表的所有内容
  3. 现在基于列属性查询Excel数据库并逐个更新记录
  4. 目前此过程大约需要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; 
    

1 个答案:

答案 0 :(得分:0)

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

ALTER TABLE my_table  
ADD INDEX Retailer_MSISDN(Retailer_MSISDN);

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