社区
C#
帖子详情
关于大数据量的查询,请高手赐教!
bjddd192
2010-11-06 01:02:25
本人做了一个报表,很简单,就是去查一张表,但是这个表越来越大了,现在大概有80万的数据了,但是又不能把查询条件限制死,因此,有时候用户不输条件去查,把自己电脑都查挂了,因此我想能不能实现首先只查10000条出来,想要看后面的再继续查,我不想用分页,不想用top *去在查询语句里面实现,因为对于存储过程的修改太大,我想知道在.NET里面有没有机制让我执行一个语句,查到多少行就中断然后返回结果给我,而不是要全部查出再返回。期待答案~
...全文
258
33
打赏
收藏
关于大数据量的查询,请高手赐教!
本人做了一个报表,很简单,就是去查一张表,但是这个表越来越大了,现在大概有80万的数据了,但是又不能把查询条件限制死,因此,有时候用户不输条件去查,把自己电脑都查挂了,因此我想能不能实现首先只查10000条出来,想要看后面的再继续查,我不想用分页,不想用top *去在查询语句里面实现,因为对于存储过程的修改太大,我想知道在.NET里面有没有机制让我执行一个语句,查到多少行就中断然后返回结果给我,而不是要全部查出再返回。期待答案~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
33 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bjddd192
2010-11-24
打赏
举报
回复
[Quote=引用 20 楼 kscode 的回复:]
你写个方法。在数据操作层,用打datareader读取记录转为List<class>集合。当list的count数量达到1000时候阻塞线程,当下次需要数据的时候传一个状态值重新开启线程。
[/Quote]
我试了这个朋友的方法,应该就是我想要的,的确可以从数据填充上缩小时间,谢了
peng2739956
2010-11-19
打赏
举报
回复
TOP 可以 但是 LZ可以做索引啊 这样查询效率高 也不导致你死机啊。。。 我的建议是:创建索引查。
bjddd105
2010-11-19
打赏
举报
回复
关注!!期待啊!!
pasic
2010-11-19
打赏
举报
回复
读出来 在DataTable中控制呢?
bjddd192
2010-11-18
打赏
举报
回复
[Quote=引用 28 楼 ttyyadd 的回复:]
最好在存储过程里面实现分布,在页面上效率太低了。
[/Quote]
我们的架构没有进行分页处理。。唉~,杯具
但真的希望能够知道toad的那种查询方式
ttyyadd
2010-11-18
打赏
举报
回复
最好在存储过程里面实现分布,在页面上效率太低了。
w5588660
2010-11-18
打赏
举报
回复
用top吧 别的应该没什么好办法了
bjddd192
2010-11-18
打赏
举报
回复
[Quote=引用 21 楼 latin55 的回复:]
ADO.NET 有个对象 SqlDataAdapter 的Fill方法
它的重载里有个 4个参数的 (SQL语句,起始页码,结束页码,表名)
你要不想写存储过程 就这样
[/Quote]
我试试看看
bjddd192
2010-11-18
打赏
举报
回复
[Quote=引用 20 楼 kscode 的回复:]
你写个方法。在数据操作层,用打datareader读取记录转为List<class>集合。当list的count数量达到1000时候阻塞线程,当下次需要数据的时候传一个状态值重新开启线程。
[/Quote]
能不能举个例子啊,朋友
bjddd192
2010-11-18
打赏
举报
回复
[Quote=引用 22 楼 michael23lb 的回复:]
有,如果你用的是vs2010 就可以用lambda 表达式。
[/Quote]
能不能举例说明下?
kscode
2010-11-12
打赏
举报
回复
因为对于存储过程的修改太大?所以你不想分页
我不认为有什么修改。你就将你原来没实现分页的查询当做一个新表,在新表的基础上
再进行一次查询不就好了,修改应该不大
bjddd105
2010-11-12
打赏
举报
回复
友情支持一下
michael23lb
2010-11-12
打赏
举报
回复
有,如果你用的是vs2010 就可以用lambda 表达式。
latin55
2010-11-12
打赏
举报
回复
ADO.NET 有个对象 SqlDataAdapter 的Fill方法
它的重载里有个 4个参数的 (SQL语句,起始页码,结束页码,表名)
你要不想写存储过程 就这样
kscode
2010-11-12
打赏
举报
回复
你写个方法。在数据操作层,用打datareader读取记录转为List<class>集合。当list的count数量达到1000时候阻塞线程,当下次需要数据的时候传一个状态值重新开启线程。
bjddd192
2010-11-09
打赏
举报
回复
顶一下,这么多大师来了,不然帖子沉了~~~
bjddd192
2010-11-09
打赏
举报
回复
[Quote=引用 10 楼 whb147 的回复:]
传说用异步可以
比如说:先执行一个top 1000,返回
然后在他滚动鼠标的时候,在执行剩下的操作
在滚动到1000行的时候,差不多也够了
[/Quote]
这位兄弟挺有见解,我觉得也是可以实现的,因为我用的Toad for DB2 Freeware就是一款这样的软件,可以以这种方式来查询,相信用过Toad for Oracle的应该也体会到这种好处,现在的难点是用语句实现top我觉得没有太大的难点,主要是如果是存储过程返回结果集的呢?那种又该如何实现,老外的软件是可以的哦。。期盼~等待~
bjddd192
2010-11-09
打赏
举报
回复
高手都去哪里了啊
「已注销」
2010-11-07
打赏
举报
回复
每天回贴有10分哦!
SmilingKevin
2010-11-07
打赏
举报
回复
学习一下
加载更多回复(10)
oracle表分区设计_再谈
大数据
量
的数据表设计
讨论了在应对日1000万网页访问
量
和亿级数据的场景下,如何设计Oracle表分区。提出了建立基础数据表和中间统计表的策略,中间表按天统计以满足
查询
需求。同时,对于时段
查询
、索引管理、表分区的性能比较和表数
量
控制进行了探讨,旨在优化
查询
性能和数据管理。
Oracle
查询
结果分页
本文介绍了在Oracle数据库中实现分页
查询
的一种常见方法,并探讨了其在
大数据
量
情况下的效率问题,寻求更高效的分页解决方案。
saiku限制日期
查询
本文介绍了在Saiku中处理
大数据
查询
时,为减轻Kylin集群压力,通过限制用户
查询
日期跨度的方法。作者探讨了3种解决方案,最终选择了直接在维度上限制日期,并详细阐述了其实现逻辑,涉及代码修改及执行
查询
的接口调整。
postgresql分页用法_PostgreSQL 分页
查询
时间的2种比较方法小结
通过对比两种分页
查询
方法,一种是基于ID大于某个值进行
查询
,另一种是使用LIMIT和OFFSET组合,实验证明前者在
大数据
量
下表现更优。
C#
111,129
社区成员
642,535
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章