ADO.Net中的Fill是真分页还是假分页

as12a 2009-03-16 03:25:16
如题,System.Data.Common.DbDataAdapter中的方法
public int Fill(DataSet dataSet, int startRecord, int maxRecords, string srcTable);

其中的处理机制是真分页还是假分页?
...全文
955 44 打赏 收藏 转发到动态 举报
写回复
用AI写文章
44 条回复
切换为时间正序
请发表友善的回复…
发表回复
limii 2011-09-08
  • 打赏
  • 举报
回复
up......
as12a 2009-03-18
  • 打赏
  • 举报
回复
刚做了测试,50W条数据,Oracle数据库

.Fill(ds, 0, 20, "table");
第一页用时<1秒

.Fill(ds, 499980, 20, "table");
最后一页用时30秒

.Fill(ds)
取得全部数据用时2分15秒

Fill方法取的数据绝对不是全部数据

考虑到98%的用户使用习惯,只会翻看前几页,找不到就使用搜索条件查询,Fill方法足够用了

sp1234的说明完全正确,感谢解惑
xuan.ye 2009-03-18
  • 打赏
  • 举报
回复
有些东西,不适用于b/s结构程序 而已

MOTA 2009-03-18
  • 打赏
  • 举报
回复
假的
你尝试下 百万数据用它分页
死人了要
浪子-无悔 2009-03-18
  • 打赏
  • 举报
回复
都是牛人。。
net_flyfox 2009-03-18
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 sp1234 的回复:]
举个例子,如果屏幕需要显示第13页,那么绝对不会额外地取出第14也的数据。但是,从第1页到第12页,ADO.NET要从前往后移动游标,直到移动到13页上。
[/Quote]
读取数据库绝对是全部读取了。
xiaoliangwh 2009-03-17
  • 打赏
  • 举报
回复
up
深宇 2009-03-17
  • 打赏
  • 举报
回复
留个脚印
tautaulee 2009-03-17
  • 打赏
  • 举报
回复
up
Delta 2009-03-17
  • 打赏
  • 举报
回复
有来学习了。
WizardWu 2009-03-17
  • 打赏
  • 举报
回复
假分页(DbDataAdapter.Fill() method):
browser ← IIS Server 内存(整个表的全部数据存在这里的内存,在这里再分页) ← DAL Layer + DataBase(数据表的所有数据全部撷取)

真分页(ObjectDataSource + Stored Procedure):
ASP.NET 数据分页第四篇 - WizardGridView 威力加强版
http://www.cnblogs.com/WizardWu/archive/2008/09/28/1301616.html

huang_net 2009-03-17
  • 打赏
  • 举报
回复
假分页!!!
真分页的话要使用sql语句
如:
方法1、SELECT *
FROM
(SELECT ROW_NUMBER() OVER (ORDER BY id)
AS PriceRank,* FROM books)
AS Rank
WHERE PriceRank BETWEEN 21 AND 30

方法2、
SELECT Top 10 *
FROM books
WHERE id NOT IN
(SELECT Top 20 id
FROM books
ORDER BY id)
ORDER BY id
liushihua 2009-03-17
  • 打赏
  • 举报
回复
不错,期待!!!
越过越咸 2009-03-17
  • 打赏
  • 举报
回复
HTTPS和HTTP
caca0513 2009-03-17
  • 打赏
  • 举报
回复
mark. 我也想知道.. 以前的boss说过这个fill还挺有效率的. 几百万数据量时也都够用
Teng_s2000 2009-03-17
  • 打赏
  • 举报
回复
sp1234讨论的很是热烈啊
shihuan10430049 2009-03-17
  • 打赏
  • 举报
回复
高手们的讨论经典,留个脚印.
xbieygah 2009-03-17
  • 打赏
  • 举报
回复
还是用分页存储过程吧.
小弟的站 www.51ttsou.com
信息列表采用分页存储过程.
一个几十万数据的表,取数据基本上不耽误什么时间.
冷月孤峰 2009-03-16
  • 打赏
  • 举报
回复
是对dataset进行筛选过后的分页。
一般情况下够用了。
gui0605 2009-03-16
  • 打赏
  • 举报
回复
一直用的存储过程分页...
加载更多回复(23)

62,268

社区成员

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

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

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

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