问题背景:1 数据库有4个表 问卷表(问卷id,问卷name,问卷设置项)
问题表(问题id,问题name,问卷id,问题设置项)
选项表(选项id,选项名称,问卷id,问题id,选项设置项)
统计表(选项id,问卷id,问题id,票数)
2 每个用户投完票,遍历其问卷,写入到统计表
问题: 当进行显示投票结果编程的时候,以下是我的做法
gridview1建立一个模版列,加入一个label(绑定到问题名称)和另外一个gridview2(gridview2是显示相应问题下每个问题的投票结果的)
***********************问题关键描述**************************
那么开始需要查询数据库取得特定问卷下所有的问题(id和名称)
然后在对gridview1每行Databound时我还得查询数据库取得相应问题下所有选项的统计结果和gridview2进行绑定
***********************问题关键描述**************************
从"问题关键描述"块的内容可以看出如果某个问卷问题比较多(或者还有可能同时有多个用户查看投票结果的话)那么就得多次查询数据库服务器,对db服务器的压力就好大,目前我想到的一种做法就是将问卷下所有问题选项的统计结果用viewstate或者session缓存起来,请问各位有什么更好的解决这种需要多次查询数据库的办法么?
问题表(问题id,问题name,问卷id,问题设置项)
选项表(选项id,选项名称,问卷id,问题id,选项设置项)
统计表(选项id,问卷id,问题id,票数)
2 每个用户投完票,遍历其问卷,写入到统计表
问题: 当进行显示投票结果编程的时候,以下是我的做法
gridview1建立一个模版列,加入一个label(绑定到问题名称)和另外一个gridview2(gridview2是显示相应问题下每个问题的投票结果的)
***********************问题关键描述**************************
那么开始需要查询数据库取得特定问卷下所有的问题(id和名称)
然后在对gridview1每行Databound时我还得查询数据库取得相应问题下所有选项的统计结果和gridview2进行绑定
***********************问题关键描述**************************
从"问题关键描述"块的内容可以看出如果某个问卷问题比较多(或者还有可能同时有多个用户查看投票结果的话)那么就得多次查询数据库服务器,对db服务器的压力就好大,目前我想到的一种做法就是将问卷下所有问题选项的统计结果用viewstate或者session缓存起来,请问各位有什么更好的解决这种需要多次查询数据库的办法么?
解决方案 »
- 自定义鼠标光标问题
- aspnetpager不用存储过程怎么用?谢谢
- sql 获取当前数据的上下行
- treeview 获取checked问题!!!!!!
- 没有分,纯粹试一下,5分钟之后发现没有用,准备删除。送给大家。
- 各位大哥~excel中SQL语句有什么不同吗?
- 批量生成html页面
- 从客户端(zuopinzhanshi_zpjs="<IMG height=182 alt=...")中检测到有潜在危险的 Request.Form 值。
- 极度郁闷的一个问题,和数据绑定有点关系
- 请问论坛的分列功能是如何实现的?
- VS2003&&c#中如何在客户端获取后台动态生成的Datagrid的列数
- 求个HTML正则表达式
session缓存容易丢失数据,会过期
用单件类缓存到服务器吧,如果数据量大,并且经常需要访问
缓存这个东东还没用过,兄弟能否给出使用中的注意事项!
感觉因为用户每次投票完后,缓存应该需要更新吧?如果仅仅是浏览已投票的结果不涉及到投票操作,那么缓存倒是个不错的方法,不过不知道怎么样来找到其中的平衡点
数据量估计应该不大,你也看到过一般问卷调查最多也就30个问题左右,大概6个选项那么就是将近200条记录,关键是在显示投票结果的时候减少访问数据库的次数.
不知道你说的单件类缓存到服务器是怎么来做,能否给出个大概的模版?
哦,原来如比啊,我查查看,能否给出使用单件类的注意事项了?
其他各位还有没有好的方法建议了?
从我的"关键问题描述"你可以知道,我要访问的要么是问题表要么就是选项表和统计表(连接查询)
不存在你说的字典表.我看了一篇使用cache类的文章,不过粗略考虑了下,
我用的是连接查询得到datatable,那么我缓存的就是这个datatable
Cache mycache = new Cache();
mycache["vote"] = mydatatable;
不过这个cache是应用程序级别的,对所有用户有效,那么另外一个用户投完票后还得查询更新对应的项了?
"没有过Cache,Session会丢失,如果Cache可行而且不想经常查询数据库的话,建议用..."大哥我需要的是经过你自己证明的方法和建议啊,连你自己都不确定好用不,怎么说服我来用了?