2 a1406936850 a1406936850 于 2013.12.17 15:11 提问

databel中的数据插入到数据库

excel中的数据是每天累加的,但是每次都要全部导入数据库,所以数据库中的数据会有大量的重复,浪费资源,求一个办法,可以去除重复,并且速度要快一点;目前我采用的方法是,每词都去数据库中判断,如果存在的话就更新,不存在的话就插入,速度非常慢,不到1w条数据,都要用奖金两分钟,求各位大神们给一个更好的办法

3个回答

zhangdiies111
zhangdiies111   2013.12.27 18:45
已采纳

你每次都要去访问这样会浪费大量的资源,你可以先将excel中的关键列获取出来,放到内存中,在内存中进行判断,这样会提高点效率。

mevip
mevip   2013.12.17 21:10

记录Excel中最后一条数据的ID或者Excel中的总条数n,下次再导入时直接从第n+1条开始导入。

mevip
mevip Excel表中增加一个标志列,每次修改内容或新增一行时必须设置该标志,在导入时只检索该标志有效的行。
接近 4 年之前 回复
a1406936850
a1406936850 就是第二次导入的时候有可能以前的数据被修改了
接近 4 年之前 回复
a1406936850
a1406936850 这个办法是不错,但是如果涉及到以前的数据需要修改的话,就又让人头疼了
接近 4 年之前 回复
wangwu2235
wangwu2235   2014.02.28 14:37

如果是全字段的判断的话就需要全部比较,那么优化应该在怎么读取数据,和怎么比较的问题上了,首先一次性加载Excel的数据到内存表中,然后一条一条用sql判断,重复的直接跳过。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!