DataSet的几点疑问

asd97500 2004-08-11 04:13:31
DataSet的几点疑问:
1、在使用DataSet时,把多个datatable加入建成的一个dataset和使用多个dataset分别连接各表,哪个效能(浏览网页时的显示速度、占用服务器资源等)好?

2、Dataset使用后,如果服务器生成网页,提交客户端完成后,建立的这个Dataset默认会怎么,是被删除了吗?再次请求生成的Dataset是一个全新的吧。

3、扩展问题2,Dataset使用后,完成客户端的提交后,和dataset相关的如OleDbDataAdapter,OleDbConnection,DataTable,DataGrid,DataList等,其每个的默认状态会怎样?

4、datagrid与Dataset数据绑定后,如何不保存datagrid的状态?我看有些介绍说不保存datagrid的状态有助于提高datagrid的效能,我不知道这个说法应怎么理解,请知道指正。

5、使用Dataset和其相关(datatable,datagrid,datalist等)进行的数据绑定,在查询显示时,是否有明显的速度瓶颈(一次查询显示多少条数据)?

6、扩展问题3,dataset和其相关,在.Net中可以被.Clear(),.Dispose();这些方法怎么理解呀!

请赐教!希望按每个问题单个解答。
...全文
177 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
chieftech 2004-08-18
  • 打赏
  • 举报
回复
收藏,顺便帮你up
vzxq 2004-08-18
  • 打赏
  • 举报
回复
用存储过程快
xzhy80 2004-08-18
  • 打赏
  • 举报
回复
照楼上所说的
应该是各行相加求和快
加法的效率高
asd97500 2004-08-18
  • 打赏
  • 举报
回复
DataSet就是为了模拟数据库,你说是一个数据库内存放多个表好,还是每个数据库都只放一个表好:)
这句话什么意思?
我不懂。对数据库的性能也不是很了解,有谁知道请说明一下吧,谢谢

如果不知道,也没关系,请帮忙up!:)

1979xt 2004-08-16
  • 打赏
  • 举报
回复
DataSet就是为了模拟数据库,你说是一个数据库内存放多个表好,还是每个数据库都只放一个表好:)
asd97500 2004-08-16
  • 打赏
  • 举报
回复
对datagrid的某列求和,是使用各行相加求和快(还有其他的好方法吗),还是使用sql语句查询,程序执行的快?
如果不知道,也没关系,请帮忙up!:)
asd97500 2004-08-13
  • 打赏
  • 举报
回复
对datagrid的某列求和,是使用各行相加求和快(还有其他的好方法吗),还是使用sql语句查询,程序执行的快?
如果不知道,也没关系,请帮忙up!:)
asd97500 2004-08-12
  • 打赏
  • 举报
回复
viewstate=false应怎么设置?
我设置时报错说这是只读的。
wagod 2004-08-12
  • 打赏
  • 举报
回复
datagrid的属性里面有个EnableViewState
xzyan80 2004-08-12
  • 打赏
  • 举报
回复
up
wagod 2004-08-11
  • 打赏
  • 举报
回复
1.用一个dataset节省内存,但耗费cpu资源,用多个dataset则相反;
2.每个实例化dataset就生成一个新的,如果dataset是整个页面的变量,则在页面关闭后被垃圾回收器清除,如果定义在方法内,则在方法调用结束后释放
3.OleDbDataAdapter,OleDbConnection,DataTable,DataGrid,DataList同上,因为DataTable,DataGrid,DataList都是服务器端控件,在后台代码中可以看见他们的命名控件与page_load一样,所以在页面关闭后小时,而OleDbDataAdapter,OleDbConnection则在方法结束后释放,这也是与C++的区别,不用写××=NULL
4.viewstate=false可以不保存状态,而且类似于静态页面,一次加载完毕后,状态就消失了,所以你不能修改其中的数据,但是确实可以大幅度的提高性能,至少是内存
5.要想提高查询的速度,特别是分页的时候,最好是分批绑定,并利用存储过程,详细请见http://dotnet.aspx.cc/ShowDetail.aspx?id=108B1516-53CE-4357-B061-17295AF9689F
6.Clear(),清除;Dispose()释放.

通常建议如果在没有批量修改数据的前提下,尽量使用datareader
xzhy80 2004-08-11
  • 打赏
  • 举报
回复
up
eboywy 2004-08-11
  • 打赏
  • 举报
回复
4,应该是设viewstate=false,但这样也有问题,如果有command列,用的时候就必须重新连接数据库。
5,速度瓶颈主要是网络流量。
6,Clear(),清除datatable数据,也就是清空服务器内存占用.
Dispose()释放资源,不一定是内存,也可能是数据库进程及其它。
阿云ivan 2004-08-11
  • 打赏
  • 举报
回复
一个DataSet好,访问速度理论上比多个快
junmingl 2004-08-11
  • 打赏
  • 举报
回复
1:用一个dataset节省内存,但耗费cpu资源,用多个dataset则相反;

2:不同名DataSet是全新的

3:DataGrid、DataList是控件,默认状态不变,Connection仍然驻留内存,等待再一次调用

62,025

社区成员

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

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

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

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