社区
C#
帖子详情
大数据量DataSet操作
HaveOneDream
2010-11-23 10:46:01
DataSet里面某个表加载了十万条记录(项目要求把数据资料都加载到内存中,此点暂时设为不可变)
1、通过select()方法效率不高()
2、采用DataView,效率有所提高,但在低配置的机子上CPU还是占用极高,查询速度很慢
3、考虑过用linq,但网上说数据查询性能不高
如何针对此种大数据量的DataSet进行较快过滤和过滤完后的分页处理
...全文
451
26
打赏
收藏
大数据量DataSet操作
DataSet里面某个表加载了十万条记录(项目要求把数据资料都加载到内存中,此点暂时设为不可变) 1、通过select()方法效率不高() 2、采用DataView,效率有所提高,但在低配置的机子上CPU还是占用极高,查询速度很慢 3、考虑过用linq,但网上说数据查询性能不高 如何针对此种大数据量的DataSet进行较快过滤和过滤完后的分页处理
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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)
DataReader和
DataSet
的异同
本文探讨了DataReader和
DataSet
这两种从数据库获取数据方式的区别。DataReader在线
操作
数据库,占用连接时间长但内存消耗少,适用于
大数据
量
操作
;而
DataSet
一次性加载所有数据到内存中,释放数据库连接,虽然更消耗内存但在数据处理上更为灵活。
3个坑、2种对象、1个真相:
DataSet
vs DataTable,谁在偷走你的内存?
本文深入探讨C#中
DataSet
与DataTable的内存使用差异,指出DataTable适用于单表数据处理,而
DataSet
更适合多表关系管理。通过实战案例揭示两者在
大数据
量
下的性能表现,帮助开发者避免内存爆炸问题,提升数据
操作
效率。
DataReader与
DataSet
有什么区别? (转)
本文深入解析了ADO.NET中
DataSet
与DataReader的区别与应用场景。
DataSet
适用于离线处理、数据整合及跨层数据交换,支持缓存、数据
操作
及XML处理。DataReader则专为高速、单向、只读数据流设计,适合
大数据
量
的快速读取,不支持数据缓存与回写。了解两者特性有助于优化数据访问策略。
国产化Excel开发组件Spire.XLS教程:C# 轻松将
DataSet
导出到 Excel
本文介绍了如何利用 Spire.XLS for .NET 在 C# 中将
DataSet
导出为 Excel 文件,涵盖创建 Excel 文件、多 DataTable 写入不同工作表、格式化
操作
及
大数据
量
处理等内容。适用于报表生成、数据共享和归档等场景。
SqlDataReader和SqlDataAdapter+
DataSet
区别
本文对比了SqlDataReader和SqlDataAdapter的功能与使用场景。SqlDataReader适用于小数据
量
的只读
操作
,而SqlDataAdapter则用于
大数据
量
的读写,并通过
DataSet
进行数据缓存。文中还提供了两种方法的具体使用实例。
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章