你陷入了一个自己设置的陷阱。
1,每插入一条数据以后Threadsleep(一段时间);
让线程休息一下,就不会出现数据库跟不上的问题了
2不是缓存未清,而是数据量大导致反应慢,程序优化是关键。
可以执行插入动作以后,如果成功,就在datalist里面删除。
给你一个新思路。
SQLserver是支持sql文件数据导入的。也就是说你如果有个sql文件里面都是insert into的话,就可以导入里面所有的数据。C#net的文件 *** 作还是很简单的。
所以推荐读取xml以后,生成一个sql文件,读取下一个xml以后,append中间的内容到那个sql,最后统一执行。这样你的这两个问题就不会出现。
从你的描述来看,你是打算使用编程的方式进行导入,这种做法会严重影响数据库性能,原因有两方面:一是每条数据在插入的时候都要验证是否违反表中的约束条件;二是在一个集中的时间段里面出现了大量的IO *** 作。建议你使用Oracle自带的导入导出工具进行 *** 作,不要自己写程序。你的这种方式中如果一条数据有问题,则6万条数据都会导入失败。
以上就是关于大量数据导入sql数据库问题全部的内容,包括:大量数据导入sql数据库问题、批量导入数据会影响数据库性能或者锁表吗、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)