急!急! 数据库大表的处理方法!!!

快刀有理 2007-04-25 11:04:10
有一个数据表A数据条数大约1500万(大小2G),要把表A的数据逐条进行分析放入到到数据表B。
我用的是.net 开发的, 先读取A中前1000条记录放到DataTable中,然后对DataTable中数据进行处理放入到表B,之后删除这1000条数据。
如此循环处理数据。分析过程中用到的字段已经建立索引。
这样做效率很慢,有更好的处理办法么?????
用的是sqlserver2000数据库。
...全文
201 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
快刀有理 2007-04-25
  • 打赏
  • 举报
回复
要把表A中的数据和表B中的数据做下比较,有可能是insert 表B 也有可能是update 表B。
北京的雾霾天 2007-04-25
  • 打赏
  • 举报
回复
如果数据量太大,你可以考虑使用Xml来分次处理,使用SqlServer的OpenXml等操作就可以了,

比如原来我遇见的情况使用Xml处理后,速度从原来的1个半小时,降到了10分.
guyanlj 2007-04-25
  • 打赏
  • 举报
回复
insert into b select * from a,然后在查询分器里面执行,注意A要用索引,B不要用索引,先执行多少看多少啊.估计操作不了几次就成功了,就是慢点.
gahade 2007-04-25
  • 打赏
  • 举报
回复
考虑是否真的需要逐条处理.
贴点数据看看
gahade 2007-04-25
  • 打赏
  • 举报
回复
游标处理1W条以下数据还可以.超过1W除非特别有必要,否则还是考虑将游标改造了
快刀有理 2007-04-25
  • 打赏
  • 举报
回复
肯定要逐条分析,包括一些数据项的合并和提取。我也为这个头痛,有没有别的好点的方法,
我用过游标,效果不是很好。
smile9961 2007-04-25
  • 打赏
  • 举报
回复
还是先考虑一下一楼说的“考虑是否真的需要逐条处理.”;你需要将数据取出来作什么处理,很复杂吗,sql语句不能直接处理吗?否则,通过应用程序处理1500w肯定慢。
快刀有理 2007-04-25
  • 打赏
  • 举报
回复
顶下!!

62,046

社区成员

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

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

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

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