100分关于DATESET DATATABLE SQLDATAREADER问题

xinlingdeai 2009-03-19 10:24:21
谁能给我详细解释解释他们之间的不同点.优缺点.举例说明
1:在100万条新闻里查询1条新闻的内容用什么为什么
2:在100万条新闻里按条件查询出1000条新闻用什么为什么
 以及效率问题
还有就是静态方法不用实力化.我都想用静态方法.具体什么时间用为什么.优缺点

...全文
162 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
liye0601 2009-09-09
  • 打赏
  • 举报
回复
我是来学习的,谢谢
anyedage 2009-03-26
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 Fighting_Lin 的回复:]


我觉得查询数据的时候一般不要用Dataset的比较好,因为大家都知道Dataset是直接从内存中读数据,虽然它能读取大量的数据,但100万条数据如果用Dataset,执行效率会很低。

我个人在写底层的时候一般用SqlDataReader比较多,它是以流的方式读取数据的,无论是一条数据还是1000条数据,都可以高效的查询出来,执行效率要比Dataset快好多,至于Datatable,我觉得可以用SqlDataReader+List <>代替,这样底层就不想要很多的方法…
[/Quote]
高!
Henry8484 2009-03-20
  • 打赏
  • 举报
回复
UP
syb1045 2009-03-20
  • 打赏
  • 举报
回复
顶 老2~~ 嘿嘿!
datahandler2 2009-03-20
  • 打赏
  • 举报
回复
妈妈的很多人抢分不道德,复制别人的原帖。
其实2楼说的非常有道理。
a121984376 2009-03-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 renjuwht 的回复:]
1:在100万条新闻里查询1条新闻的内容用什么为什么
用SqlDataReader,原因SqlDataReader是单个数据回发,适合少量数据!!
数据量少时效率高!

2:在100万条新闻里按条件查询出1000条新闻用什么为什么
用DataSet,原因DataSet是批量回发数据,同时保留了一些数据关系,适合较多的数据!!
数据较多时效率高

3.关于静态问题
这没有一个清晰或严格的规定,什么时候该用静态,什么时候不该用静态,
但一般来说,以实…
[/Quote]
差不多了,不过最好直接返回DataTable,而不是DataSet
a121984376 2009-03-20
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 xinlingdeai 的回复:]
那具体什么时间用DATATABLE呢?
[/Quote]

基本都用DataTable,
DataSet直接无视~~~~~
zzxap 2009-03-20
  • 打赏
  • 举报
回复
如果是浏览数据,其实没有必要全部取出来,

select * from table where id between 10 and 20

然后再绑定显示,翻页的时候再取另外20-30条显示。


pb_stu 2009-03-20
  • 打赏
  • 举报
回复
2楼正解
  • 打赏
  • 举报
回复
2楼正解
scyinhui 2009-03-20
  • 打赏
  • 举报
回复
up
claymore1114 2009-03-20
  • 打赏
  • 举报
回复
1.一般般情况下,读取大量数据,对返回数据不做大量处理用SqlDataReader.
对返回数据大量处理用datset比较合适。
2.只需更新数据用ExecuteNonQuery.
单个值的查询使用ExecuteScalar
lucas406 2009-03-20
  • 打赏
  • 举报
回复
Up
2L
xfreyes 2009-03-20
  • 打赏
  • 举报
回复
DATATABLE基本类似dataset的情况
xinlingdeai 2009-03-20
  • 打赏
  • 举报
回复
那具体什么时间用DATATABLE呢?
hechenqingtian 2009-03-20
  • 打赏
  • 举报
回复
存储过程
Fighting_Lin 2009-03-20
  • 打赏
  • 举报
回复


我觉得查询数据的时候一般不要用Dataset的比较好,因为大家都知道Dataset是直接从内存中读数据,虽然它能读取大量的数据,但100万条数据如果用Dataset,执行效率会很低。

我个人在写底层的时候一般用SqlDataReader比较多,它是以流的方式读取数据的,无论是一条数据还是1000条数据,都可以高效的查询出来,执行效率要比Dataset快好多,至于Datatable,我觉得可以用SqlDataReader+List<>代替,这样底层就不想要很多的方法了。

对于静态方法,上面也说了静态对象是常驻内存的,而且静态类中的静态对象一旦赋值就只能读,而不能进行写操作,所以一般我们把一次赋值后就不需修改而只需引用的类或方法等定义为静态的。 实际开发中,特别是三次架构中,我们一般把底层数据层定义为静态的,因为它把所有要用的方法都封装好了,我们用的时候只需要直接调用方法,传递参数。
盛米网络 2009-03-19
  • 打赏
  • 举报
回复
1:在100万条新闻里查询1条新闻的内容用什么为什么
用SqlDataReader,原因SqlDataReader是单个数据回发,适合少量数据!!
数据量少时效率高!

2:在100万条新闻里按条件查询出1000条新闻用什么为什么
用DataSet,原因DataSet是批量回发数据,同时保留了一些数据关系,适合较多的数据!!
数据较多时效率高 (Repeater先考虑,DataList中,GridView后)

3.关于静态问题
这没有一个清晰或严格的规定,什么时候该用静态,什么时候不该用静态,
但一般来说,以实例化为好,因为静态是常驻内存的,
据我的看法,你的那些应用,应该是用实例化的!!
盛米网络 2009-03-19
  • 打赏
  • 举报
回复
1:在100万条新闻里查询1条新闻的内容用什么为什么
用SqlDataReader,原因SqlDataReader是单个数据回发,适合少量数据!!
数据量少时效率高!

2:在100万条新闻里按条件查询出1000条新闻用什么为什么
用DataSet,原因DataSet是批量回发数据,同时保留了一些数据关系,适合较多的数据!!
数据较多时效率高 (Repeater先考虑,DataList中,GridView后)

3.关于静态问题
这没有一个清晰或严格的规定,什么时候该用静态,什么时候不该用静态,
但一般来说,以实例化为好,因为静态是常驻内存的,
据我的看法,你的那些应用,应该是用实例化的!!
anyedage 2009-03-19
  • 打赏
  • 举报
回复
我打酱油的
加载更多回复(4)

62,267

社区成员

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

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

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

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