社区
C#
帖子详情
sqlserver2005 大批量插入数据
Dearsoul
2009-10-22 07:39:35
有这么个业务,需要大批量的插入数据,在循环插入数据时,需要对每一条数据进行处理,处理过程会再往其他表内插入数据,这个过程需要用事务,保持数据一致性。现在是这样做的,处理每条数据,建立一个事物,这样的话需要建立很多次数据。性能上差一些。
我尝试过用多线程,去循环每条数据,因为表的ID不是自动获得,这样的话,会出现重复的ID。多线程存在数据库事务处理的不好。。
请大家说出自己的想法,怎么做性能会提供。
...全文
221
7
打赏
收藏
sqlserver2005 大批量插入数据
有这么个业务,需要大批量的插入数据,在循环插入数据时,需要对每一条数据进行处理,处理过程会再往其他表内插入数据,这个过程需要用事务,保持数据一致性。现在是这样做的,处理每条数据,建立一个事物,这样的话需要建立很多次数据。性能上差一些。 我尝试过用多线程,去循环每条数据,因为表的ID不是自动获得,这样的话,会出现重复的ID。多线程存在数据库事务处理的不好。。 请大家说出自己的想法,怎么做性能会提供。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yyz985
2009-10-22
打赏
举报
回复
int BId = MaxBId()+1 //取max同时锁b
for(....)
InsertB(BId++)
这样行不行
Dearsoul
2009-10-22
打赏
举报
回复
例如:我要先从A表里,得到全部数据,假如用List<A>来装载集合。 每个表的ID,都需要通过getID获得。
for(int i=0;i<List<A>.Count;i++)
{
//开始对每条数据进行处理
//往B表插数据,同时得到ID
string id = InsertB()//InserB表并返回ID;
//根据ID,会分别网表C,表D中插入数据。
}
这种方式对于数据量小的时候,可以接受,如果数据量多的话,就非常影响速度了
tv666
2009-10-22
打赏
举报
回复
http://hi.csdn.net/link.php?url=http://blog.csdn.net%2Ftv666
tv666
2009-10-22
打赏
举报
回复
http://writeblog.csdn.net/PostList.aspx
wuyq11
2009-10-22
打赏
举报
回复
通过存储过程批处理数据,通过事务和锁机制实现并发处理
大批量数据insert可使用SqlBulkCopy
SQL77
2009-10-22
打赏
举报
回复
重复等插入后再处理
SQL77
2009-10-22
打赏
举报
回复
用数据库处理
C#
sqlserver
数据
库操作封装类
C#的
sqlserver
数据
库操作封装类,封装了sql语句的查询、修改、
插入
、删除操作,以及存储过程的执行,包括有输入、输出参数的存储过程,存储过程的执行无需输入任何参数名称,只需输入参数值即可。同时封装了大批量...
Microsoft SQL Server2005服务器安全与维护
本课程从安装
SQLServer
2005基础讲起逐步深入创建维护计划任务、配置服务器和角色管理、日志备份还原操作等。
SQLServer
安全及性能优化
3、大量
插入
数据
,导致
数据
文件增长过快。不要设置
数据
文件的自动收缩,它会在忙碌的系统上导致不必要的性能开销。所以如果没有特别需要不要设置
数据
库的自动收缩。最好采用手动收缩。 磁盘
数据
组织不合理,导致...
快速
插入
大量
数据
的asp.net代码(
Sqlserver
)
目标
数据
库只能是
Sqlserver
来源
数据
库 无所谓 只要能用ado.net 将来源
数据
读取到Dataset或者Datareader 中就可以了。
C#
110,552
社区成员
642,562
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章