C# 该如何处理大数据?

叫我三三 2010-08-13 10:02:08
我用DataSet接收数据库的信息,
用DataSet.WriteXml()来写成XML文件存储.
测试时发现当数据小的时候,这没什么问题,
可当数据量非常大的时候,问题就来了,
Cpu和内存占用量非常高.
请问有什么高效的解决方法吗?
DateSet接收的是N张表,不同的表写成不同的XML,
每张表的数据大概有百万条.
...全文
391 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
CGabriel 2010-08-13
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 kansousama 的回复:]

引用 12 楼 cgabriel 的回复:
异步读写。。。让操作系统自己操心去。

哦 ,这个该如何实现呢?
[/Quote]

Stream.BeginWrite
Stream.EndWrite
风之影子 2010-08-13
  • 打赏
  • 举报
回复
如果ds中的数据只是从数据库中提取生成XML的话。

那么建议直接提交SQL生成XML的命令,其它的事让DBMS去完成。
叫我三三 2010-08-13
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 cgabriel 的回复:]
异步读写。。。让操作系统自己操心去。
[/Quote]
哦 ,这个该如何实现呢?
CGabriel 2010-08-13
  • 打赏
  • 举报
回复
异步读写。。。让操作系统自己操心去。
叫我三三 2010-08-13
  • 打赏
  • 举报
回复
这样啊,谢谢
chazikai24 2010-08-13
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 kansousama 的回复:]
线程开多了 CPU占用岂不是更大?
[/Quote]
没发现处理大数据时form会卡死?开线程就不会。开不开线程是一样的,因为处理的总的工作量是一样的。不开线程,任务在UI线程中运行,造成ui堵塞,界面卡死
叫我三三 2010-08-13
  • 打赏
  • 举报
回复
线程开多了 CPU占用岂不是更大?
x8251741x 2010-08-13
  • 打赏
  • 举报
回复
很不错
wuyq11 2010-08-13
  • 打赏
  • 举报
回复
分页获取数据,多线程操作
修改文件
chazikai24 2010-08-13
  • 打赏
  • 举报
回复
用线程
Thread thread1 = new Thread(new ThreadStart(this.方法));
thread1.IsBackground = true;
thread1.Start();
Lonelywolf1899 2010-08-13
  • 打赏
  • 举报
回复
本来工作量就大撒,要想CPU占用率不高,就搞慢一点撒。

多线程,缓冲技术。

gohappy2008 2010-08-13
  • 打赏
  • 举报
回复
可以分页存储过程

需要几条就去取几条数据,并且存储过程执行的也比较快
KnowKjava 2010-08-13
  • 打赏
  • 举报
回复
缓存!
一克代码 2010-08-13
  • 打赏
  • 举报
回复
分页读取!

存储过程!
q107770540 2010-08-13
  • 打赏
  • 举报
回复
另开一个线程 在后台写数据
每写一定量的数据后 让线程sleep一段时间

110,555

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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