导入Excel数据过慢

一、现象:

最近项目遇到导入Excel数据,返回的相应很慢。再服务器上十几条的Excel数据,导入预览返回需要1分钟。这现象不正常吧?

二、分析

将后台读取的Excel数据并且在校验数据加上打印日志。通过分析发现,读取Excel的数据很快的,但是在校验的时候查询某一字段的时候,发现竟然要1-2秒。这不符合常规吧。通过查询该表的数据,发现数据量也不是特别多,该表的数据也才3、5w条。

三、解决

1、最后给该表加上索引,在涉及到校验查询的表都加上了索引。类似  ALTER TABLE `sku` ADD INDEX i_sku_code_userid (`Code`, `UserId`);

2、使用 Dictionary缓存已经查到的数据,避免二次查询数据库。 

                var dictSku = new Dictionary<string,ConSku>();
                    
                  var skuInfo = new ConSku();
                    if (!dictSku.ContainsKey(sku.SkuCode))
                    {
                        skuInfo = new client().GetSkuByCodeForExcel(SkuCode, userId);
                        dictSku.Add(sku.SkuCode, skuInfo);
                    }
                    else
                    {
                        skuInfo = dictSku[SkuCode];
                    }
                    

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值