日期:2014-05-17  浏览次数:20418 次

一个小型在线考试遇到的难题,请大家帮忙看看啊!!
根据客户要求,做了一个在线考试系统。跑起来速度慢,请大家给我指点指点。
试卷有4种题型,所以建立了四张表:单选,多选,判断,不定项。字段格式:id,题目标题,A,B,C,D 选项,正确答案。所属考试章节。
学员每做一次试卷都会保存考试记录和相应得分。然后我做了个考试记录表。结构如下:
试卷章节ID,学员Id,学员答案,得分分数,考试时间。

这样,然后学员看他的历史记录,会通过考试时间,和学员id,试卷章节到数据库里展现相应的试题和自己的答案和分数。
 
一张试卷就是200条数据,所以考试的人越多,做题的人越多,当达到150万条历史记录,明显感觉打开历史记录的时候速度要慢很多,请高手指点指点啊。。。

------解决方案--------------------
可以考虑将历史记录直接生成静态页面.
------解决方案--------------------
我也正准备做考试系统,以后要请楼主多多指教.
1.优化SQL和业务逻辑.
2.使用存储过程.
3.尽量使用客户端处理数据.
4.依时间来区分常用数据和历史数据.
...待补充.
------解决方案--------------------
探讨
引用:
可以考虑将历史记录直接生成静态页面.

这是个解决办法!!!!但是我希望可以有通过代码实现的!!

------解决方案--------------------
1
如果只是查看考生的考卷,用静态页实现。
2
也可以提高硬件上的配置。内存了、硬盘了、cpu了、网速了、数据库服务器与web服务器之间的距离了等的。
3
那就的考虑sql语句优化。
4
再优化代码。
等等
------解决方案--------------------
你可以把用户查询历史时的页面生成静态页

//1.使用模板页 
//2.读取模板页,将用户数据替换到模板里,然后生成静态页面