弱弱的问一个dataset问题! 我在一本ASP.NET的书上看到这样几句话,不是很明白:他说如果一个dataset包含10000条记录,在某个页面上显示,如果有100个人浏览这个网页,就会耗很多内存,会有100万条记录在内存中。为什么会这样啊,每个人都在内存里创建10000条记录么?还有dataset不就是缓存么?为什么要用cache来缓存dataset 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果dataset 是一个静态(Shared or static)变量的话,大家可以都用一个Dataset.不然,肯定是每个人有每个人的Dataset. In VB as new Dataset ~~~这个说明每个人访问的时候都回实例化一个 dataset 都会展一定的内存的 …… ____________他说如果一个dataset包含10000条记录,在某个页面上显示,如果有100个人浏览这个网页,就会耗很多内存,会有100万条记录在内存中。为什么会这样啊,每个人都在内存里创建10000条记录么?_________dataset是在服务器端的,不是在客户端的,100万条记录在服务器内存中。回传服务器一次,dataset就会丢失,如果想要保存原数据集,只有用cache请参考http://dotnet.aspx.cc/ShowDetail.aspx?id=108B1516-53CE-4357-B061-17295AF9689F 楼上几们理解有误。。CACHE是服务器变量。。用户对数据的访问通过cache的操作。cache是服务器变量,对所有用户共享,这样,如果同时有一百个用户访问,也都是对同一个cache进行一百次访问。网上有相关资料。。CSDN上也有http://dev.csdn.net/develop/article/26/26445.shtm 楼上几们理解有误。。CACHE是服务器变量。。用户对数据的访问通过cache的操作。cache是服务器变量,对所有用户共享,这样,如果同时有一百个用户访问,也都是对同一个cache进行一百次访问。网上有相关资料。。CSDN上也有http://dev.csdn.net/develop/article/26/26445.shtm 可是一般好的分页不会每次都将所有的记录读入DataSet啊. 自定义分页,可控制dataset的数据量 首先数据库有缓存,其次iis也有缓存当很多人请求同一页时直接在iis被缓存命中,于是直接返回页面。内存可能只吃了一点。 Dataset是一个断开连接式数据存储对象,也就是说,在数据服务器和ASP页断开的情况下,ASP服务器上能缓存数据,供客户端使用(客户端不保存数据)。试想,当100人每人申请10000条记录,ASP服务器上就会缓存1000000条记录。因此,客户端不存在这样一个数据缓存,因此,当提交新页时,需要将原数据集保存在本地计算机上,供下一次操作使用。 真是晕——————————因此,当提交新页时,需要将原数据集保存在本地计算机上,供下一次操作使用。——————————这是什么意思啊?——————————在数据服务器和ASP页断开的情况下,ASP服务器上能缓存数据——————————--》在数据服务器和.NET服务器断开的情况下,web服务器能缓存数据 ________________回传服务器一次,dataset就会丢失________________那岂不是每次回传服务器一次,dataset都要重新建立一次,那么是不是又要和数据库连接一次呢?————————客户端不保存数据——当提交新页时,需要将原数据集保存在本地计算机上,供下一次操作使用。-----------------是不是矛盾啊? 如果用“如果dataset 是一个静态(Shared or static)变量的话,大家可以都用一个Dataset”这种方法可以减少内存的消耗,那么在更新不频繁的情况下,是不是可以这样做,来提高网站性能呢? ________________回传服务器一次,dataset就会丢失________________那岂不是每次回传服务器一次,dataset都要重新建立一次,那么是不是又要和数据库连接一次呢?————————客户端不保存数据——当提交新页时,需要将原数据集保存在本地计算机上,供下一次操作使用。-----------------是不是矛盾啊?**************************************************************************************比如说一个简单的datagrid分页问题,你每点一次换页时,都需要重新绑定数据源,这会相当麻烦。因此可以将数据集保存在本地缓存,就是Session[]中,换页就不需要重新执行查询了。只需要DataGrid.databind(Session["data"]);我认为采用全局变量不好,这会增加服务器负担,交给客户端缓存或许更好吧。 楼上的又搞错了,Session也是在服务器内存中的 penning(飞鱼),那你说说你的想法呢?如果我要提高一个培训考试系统的性能,可以采取那些方案?是否可以使用(Shared or static)dataset。分页是否也有可以改进的地方么?有人曾说过太多人访问dataset,会有问题,是指内存不够么? 是否可以使用(Shared or static)dataset?可以,只要你没有更新数据库的操作。分页是否也有可以改进的地方么?是的,通过存储过程分页每次绑定是个不错的方法有人曾说过太多人访问dataset,会有问题,是指内存不够么?是的,内存可能会崩溃,你可以做压力测试 sql排序查询 条件 ClientID顺序 Time倒序 手写Ajax? 服务器无法访问应用程序目录“D:/Web/”。该目录不存在或因为安全设置而无法访 AspNetForum,PetShop等经典的代码在哪里可以下载 用javascript加载aspx页面的问题 几个基础问题 如何关闭一个页面 请问连续播放音频文件怎么做? b/s下客户端的文件保存到数据库的问题? 从datagrid的一个链界列怎样弹出一个没有工具条,没有地址栏的窗口 [紧急求助][在线等待] 关于Access数据库中插入中文加空格的问题! 帮助:水晶报表10,点击导出时没有弹出下载对话框
~~~这个说明每个人访问的时候都回实例化一个 dataset 都会展一定的内存的 ……
他说如果一个dataset包含10000条记录,在某个页面上显示,如果有100个人浏览这个网页,就会耗很多内存,会有100万条记录在内存中。为什么会这样啊,每个人都在内存里创建10000条记录么?
_________
dataset是在服务器端的,不是在客户端的,100万条记录在服务器内存中。回传服务器一次,dataset就会丢失,如果想要保存原数据集,只有用cache
请参考
http://dotnet.aspx.cc/ShowDetail.aspx?id=108B1516-53CE-4357-B061-17295AF9689F
cache是服务器变量,对所有用户共享,这样,如果同时有一百个用户访问,也都是对同一个cache进行一百次访问。网上有相关资料。。CSDN上也有
http://dev.csdn.net/develop/article/26/26445.shtm
cache是服务器变量,对所有用户共享,这样,如果同时有一百个用户访问,也都是对同一个cache进行一百次访问。网上有相关资料。。CSDN上也有
http://dev.csdn.net/develop/article/26/26445.shtm
当很多人请求同一页时直接在iis被缓存命中,于是直接返回页面。
内存可能只吃了一点。
——————————
因此,当提交新页时,需要将原数据集保存在本地计算机上,供下一次操作使用。
——————————这是什么意思啊?
——————————
在数据服务器和ASP页断开的情况下,ASP服务器上能缓存数据
——————————
--》
在数据服务器和.NET服务器断开的情况下,web服务器能缓存数据
回传服务器一次,dataset就会丢失
________________那岂不是每次回传服务器一次,dataset都要重新建立一次,那么是不是又要和数据库连接一次呢?————————
客户端不保存数据——当提交新页时,需要将原数据集保存在本地计算机上,供下一次操作使用。
-----------------
是不是矛盾啊?
回传服务器一次,dataset就会丢失
________________那岂不是每次回传服务器一次,dataset都要重新建立一次,那么是不是又要和数据库连接一次呢?————————
客户端不保存数据——当提交新页时,需要将原数据集保存在本地计算机上,供下一次操作使用。
-----------------
是不是矛盾啊?**************************************************************************************
比如说一个简单的datagrid分页问题,你每点一次换页时,都需要重新绑定数据源,这会相当麻烦。因此可以将数据集保存在本地缓存,就是Session[]中,换页就不需要重新执行查询了。只需要
DataGrid.databind(Session["data"]);我认为采用全局变量不好,这会增加服务器负担,交给客户端缓存或许更好吧。
如果我要提高一个培训考试系统的性能,可以采取那些方案?
是否可以使用(Shared or static)dataset。
分页是否也有可以改进的地方么?
有人曾说过太多人访问dataset,会有问题,是指内存不够么?
可以,只要你没有更新数据库的操作。
分页是否也有可以改进的地方么?
是的,通过存储过程分页每次绑定是个不错的方法
有人曾说过太多人访问dataset,会有问题,是指内存不够么?
是的,内存可能会崩溃,你可以做压力测试