asp.net数据集填充的fill()方法

[复制链接]
查看11 | 回复4 | 2011-4-20 09:04:17 | 显示全部楼层 |阅读模式
public void GetRecords()
{

// .......

// create dataSet and adapter

// .......

adapter.Fill(dataSet,9,15,\"Categories\");
}
表中从第 10 行开始的 15 行数据来填充 DataSet,我想未下,这个数据集的填充是不是
1、把表的数据全读出来之后,然后再去去10-25行的数据进行填充,
2、还是直接取出10-25行的数据进行填充
两者的效率可差别很大,希望给予解释
回复

使用道具 举报

千问 | 2011-4-20 09:04:17 | 显示全部楼层
<pre id=\"best-answer-content\" class=\"reply-text mb10\">是的,DATASET是将数据全部读取出来,然后再根据你的参数填充adapter,这样的效率很低,特别是一些大数据页面。
按你的方法,当然是第二种方法效率高了,当你的数据达到10W的时候就知道差距了,建议使用数据库分页的方式来操作,这样性能提升很高!

















<h4 class=\"ask\">追问





<pre class=\"replyask-text\" id=\"content-4229117\">???
adapter.Fill(dataSet,9,15,\"Categories\");
楼上说是直接读取10-25,你的意思好像是全读出再取10-25吗?
回复

使用道具 举报

千问 | 2011-4-20 09:04:17 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-4229513\">我的意思也是按需求取出10-25数据啊,就是使用数据库分页的方法来实现
回复

使用道具 举报

千问 | 2011-4-20 09:04:17 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-4229277\">楼下的意思是数据全读出来啊,但你的貌似是从数据库直接读10-25
which one is true?
回复

使用道具 举报

千问 | 2011-4-20 09:04:17 | 显示全部楼层
<pre class=\"replyask-text\" id=\"content-4295194\">adapter.Fill(dataSet,9,15,\"Categories\");
这种方式不会取出数据表中的所有数据, 至少传给dataset的是一个范围内的数据
如果用这种方式做分页策略,在效率上不如采用存储过程分页,数据量少的话看不出来,数据量越大效率越差,因为用这种方式是通过跳过前面的数据来实现分页的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行