一样的问题,在另一个里讨论吧,我看那边有人回复了一些。
觉得,要彻底解决问题,还要从“10万行的Excel”下手,为何会有这么大的文件、如果是人手录入为何不能用网页录入、如果从DB导出为何不直接做接口、………………
如果只有20秒,上载文件都不够吧。建议通过异步处理。就是接受用户上传的文件,通过后台排队处理,处理完成后,邮件发还给用户。
其它优化:
1、校验,插入等代码也尽可能优化。一次性插入后,在库表中进行比对。
2、关联表索引正确,有效。
3、逐条检验数据增加磁盘I/O,建议批量比对处理。
4、比对长字符串效率极低,尽量避免。