大数据量DataSet操作

HaveOneDream 2010-11-23 10:46:01
DataSet里面某个表加载了十万条记录(项目要求把数据资料都加载到内存中,此点暂时设为不可变)

1、通过select()方法效率不高()
2、采用DataView,效率有所提高,但在低配置的机子上CPU还是占用极高,查询速度很慢
3、考虑过用linq,但网上说数据查询性能不高

如何针对此种大数据量的DataSet进行较快过滤和过滤完后的分页处理
...全文
451 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunzhi523 2010-11-24
  • 打赏
  • 举报
回复
以后多多交流 哦。。。
HaveOneDream 2010-11-24
  • 打赏
  • 举报
回复
现在的想法是把数据写到sqlite,然后需要时再从sqlite读取,不知这样是否可行
lijavasy 2010-11-24
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 baysos 的回复:]
为什么硬要一次性取10W条数据~~??
顺便一顶……
[/Quote]
up
Fry_cici 2010-11-24
  • 打赏
  • 举报
回复
没必要把数据都放在DataSet 中 太耗内存 可以在数据库中进行筛选
数据也可以保存在缓存中
小童 2010-11-24
  • 打赏
  • 举报
回复
数据库分页吧,
蒋晟 2010-11-24
  • 打赏
  • 举报
回复
查询速度得看数据库设计的好不好,索引的利用是否有效。
DataSet的查询速度是最慢的。数据库引擎的检索速度不会比DataSet的差的
熙风 2010-11-23
  • 打赏
  • 举报
回复
存储过程分页····
cjh200102 2010-11-23
  • 打赏
  • 举报
回复
用存储过程,每次要多少数据就返回多少。
whrspsoft3723 2010-11-23
  • 打赏
  • 举报
回复
[Quote=引用楼主 haveonedream 的回复:]
DataSet里面某个表加载了十万条记录(项目要求把数据资料都加载到内存中,此点暂时设为不可变)

1、通过select()方法效率不高()
2、采用DataView,效率有所提高,但在低配置的机子上CPU还是占用极高,查询速度很慢
3、考虑过用linq,但网上说数据查询性能不高

如何针对此种大数据量的DataSet进行较快过滤和过滤完后的分页处理
[/Quote]

三者都不能用,那只有自己写数据结构来实现这个功能。
针对你的具体需求,有针对性地做一些算法优化(尽量减少装箱操作)。
提高性能是需要付出代价的。


HaveOneDream 2010-11-23
  • 打赏
  • 举报
回复
DataSet有没有办法分页呢
对DataSet进行分块,可不可行
whb147 2010-11-23
  • 打赏
  • 举报
回复
那就没什么好办法了
10万呀,不是小数目
你计算一下,要占多少内存
HaveOneDream 2010-11-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 adsdassadfasdfasdf 的回复:]
用数据库分页,不要在前台分页!
还有就是用存储过程!
[/Quote]
这点我知道,谢谢你的回答
这里我们不考虑DataSet的取数方式
请在DataSet数据量为十万的前提下给出解决方案,谢谢哈
hongjiaoli 2010-11-23
  • 打赏
  • 举报
回复
用存储过程+缓存
一克代码 2010-11-23
  • 打赏
  • 举报
回复
sql语句一次只读一次的分页!
bdmh 2010-11-23
  • 打赏
  • 举报
回复
分页,或按条件查询,不要一次性select
一克代码 2010-11-23
  • 打赏
  • 举报
回复
用数据库分页,不要在前台分页!
还有就是用存储过程!
L_terry 2010-11-23
  • 打赏
  • 举报
回复
推荐用存储过程处理分页
给表建索引加快查询速度
hwbox 2010-11-23
  • 打赏
  • 举报
回复
你说的三种方法都是换汤不换汤全部依赖于dataset类的检索方法。不改dataset数量级的情况下,真是想不出什么好方法。难到你打算扩展dataset类,在上面建索引?
王顺起 2010-11-23
  • 打赏
  • 举报
回复
存储过程是最好的办法,处理大批量的数据时候个人感觉还是存储过程比较好
ruanwei1987 2010-11-23
  • 打赏
  • 举报
回复
存储过程。。。一页一页的分吧
加载更多回复(3)

111,129

社区成员

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

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

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