请问导入大量数据时如何分次执行

aspxwind 2009-09-14 10:26:10
因为导入的数据太多.我想让它分次执行.以免消耗太多系统资源.请问要怎么做呢?线程吗?怎么做呢?
...全文
143 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
mysky0103 2009-09-16
  • 打赏
  • 举报
回复
关注
wangjiafeng2008 2009-09-16
  • 打赏
  • 举报
回复
可以批量处理,不要再循环里做插入操作,如果循坏太大,可以设置个阀值,到一定数目的时候,批量插入。或者用数据库的延迟操作wait for。。
mbh0210 2009-09-16
  • 打赏
  • 举报
回复
导入你可以类似分页处理,比如说数据有一万条
你先取出500条,然后在取500条,不要太频繁的读取数据库,但是一次取出也会有问题的。
当然具体你一次取多少条看自己的数据,实际测试一下
ximengchang 2009-09-16
  • 打赏
  • 举报
回复
分成多个小文件,分几次导入啊
aspxwind 2009-09-15
  • 打赏
  • 举报
回复
谢谢.不过还是没解决我的问题.
是用webservices从sqlserver导入sqlserver.不是excel
aspxwind 2009-09-15
  • 打赏
  • 举报
回复
没人哪.哎.
aspxwind 2009-09-15
  • 打赏
  • 举报
回复
上面写错了.用sqlbulk的话是很快.
aspxwind 2009-09-15
  • 打赏
  • 举报
回复
没有人为干预的.
我也是试了下用for.太慢了.而且卡住.
我是在整合disucz nt经坛.用sqlbulk的话很慢.但因为它里面关联了很多东西.我自己也搞不明白.官方又不回答.只好用它的API.
anyqu 2009-09-15
  • 打赏
  • 举报
回复
从sqlserver导入sqlserver

这里有个问题:两个数据库中间导的过程有没有人为干预?
我以前遇到类似的问题就是读到DS或READER里,再循环写入!非常慢
但如果我直接用SQL语句从A库AA表导入到B库BB表就非常快,不是一个数量级的!
建议直接用语句导入.如无必要中间不要进行其它缓存等操作
aspxwind 2009-09-15
  • 打赏
  • 举报
回复
dddddddddddddddddd
wuyq11 2009-09-14
  • 打赏
  • 举报
回复
excel导入数据,可通过二维数组提高效率
JGood 2009-09-14
  • 打赏
  • 举报
回复
同意fengjian_428兄的观点:我也觉得开多个线程反而更浪费资源。这里的主要矛盾是io设备的速度远远慢于cpu处理速度,开再多的线程,io设备的速度也就这么点,反而浪费这么多线程的资源。
wuyq11 2009-09-14
  • 打赏
  • 举报
回复
通过多线程分批导入数据。
JGood 2009-09-14
  • 打赏
  • 举报
回复
因为导入的数据太多.我想让它分次执行.以免消耗太多系统资源.请问要怎么做呢?线程吗?怎么做呢?
====》
导入大量数据,主要是IO操作的时候,设备的读写速度比较慢,线程挂起, 导致系统资源得不到充分利用。

我觉得在操作数据库的时候,可以使用异步。
或者开一个线程处理导入操作。
fengjian_428 2009-09-14
  • 打赏
  • 举报
回复
用多线程岂不是消耗更多的资源

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧