项目中大数据量插入,您是怎么做的
发布时间:2011-06-21 11:33:08 文章来源:www.iduyao.cn 采编人员:星星草
项目中大数据量插入,您是如何做的。
工作几年了,长进不大。在项目中总遇到这样的情况。
刚开始工作:
两个数据库,将一个库中的数据插入到另外一个库中。(肯定不能在数据库操作,因为有业务逻辑。)我就通过SQL先到一个库查询得到DataSet,再循环这个DataSet插入到另外一个库中。数据量不大几百条吧,速度还可以。总想优化下,但不知道啥合适的方案。
现在工作中:
比以前难度加大。同样是两个数据源,同样不能数据库同步。因为一个是webService获取的XML.我先将XML变成实体类。然后在查本地数据库,查询结果是同样的实体类。这实体类有个主键。
然后我就循环、嵌套循环。判断本地库中是否有不存在的XML中的数据。取出结果后。
我再循环插入数据库,天啊。。百万条数据,插入好慢啊。开多个线程效果也不是特别明显。
加入您在项目中遇到这种情况您会怎么处理呢?
谢谢
------解决方案--------------------
使用sqlbulkcopy批量插入,速度很快的
------解决方案--------------------
SqlBulkCopy 类,它可以通过让DataSet或是DataReader中大量的数据通过数据流直接进行装载,然后可以将这些记录添加到指定的数据表中
我一般大数量处理都是用这个类去处理,你可以尝试下
------解决方案--------------------
用存储过程,存储过程是可以有逻辑的嘛.....
------解决方案--------------------
第一个问题你可以用sqlblucicopy函数 ADO.NET的,效率非常高,适合大数据量的同步,我测试过,几万条的EXCEL导入,效率提升了几十倍吧 。
第二个问题 我木有看懂 ,随手帮你顶下吧!
------解决方案--------------------
SqlBulkCopy
拼接Sql
------解决方案--------------------
1.SqlBulkCopy
2.不直接和数据库对比,所有操作在dataset中完成,再用dataApater.update
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
C#读取文本并入库
文本格式固定如下:
**********************:
<中文作者一>=赵逢玲
<中文作者二>=杜秀华
<中文作者三>=王翠东
<中...
-
C#操作Word文档(Office 2007)
首先引入类库,Microsoft.Office.Interop.Word,然后进行编程。代码如下:
using ...
-
请问,ReadLine方法读取文件
一个txt文件,有两行
aaaa
bbbb
代码:
string s1 = @"D:iosamplepp.txt";
using (StreamReader sr = new...
-
验证控件
在gridview页脚行添加了验证控件,可是点击编辑更新时触发了验证事件,无法更新,怎么办?
------解决方案-------------------...
-
在BITMAP上用GDI+画图,如何使画出的图像尽可能清晰?
我在一张bitmap上用GDI+绘制了简单的多边形,并用PictureBox显示。
我发现,如果我...
-
???如何利用webbrower获取ifream元素????
如何利用webbrower获取ifream元素.我在GOOGLE,BAIDU一整天依然无法找到解决方法!!希望各...
-
如何解决“已有打开的与此命令相关联的DataReader,必须首先将它关闭。”错误?
小弟写了一个DBHelper类来控制数据库访问,但是在实际...
-
在做asp.net项目时,在做数据库更新时出现',' 附近有语法错误。(数据库是用sql2000的)
数据库更新语句:
public void Update()
...
-
为什么我这段代码不会发出声音呢?
C# code
using System;
using System.Collections.Generic;
using System.ComponentModel;
usi...
-
ClickOnce 不支持请求执行级别requireAdministrator
写了一个应用程序,使用ServiceController控制 windows服务的的启动和停止。
...