想效率高的话当然是单表90条记录效率高
不过扩展性就太差了
如果以后不是80道题,而是150道题呢?而且两个表各有8个字段,从表600条对应主表1条?这怎么转换的,完全看不懂.
按你前面的设计,应该是有10个字段是学生信息,80个字段是答案
你就只把那80个字段从列变成行,80行2列(一列主键关联到主表外键,另一列vchar)
不用再把学生信息都带出来了啊.
不过扩展性就太差了
如果以后不是80道题,而是150道题呢?而且两个表各有8个字段,从表600条对应主表1条?这怎么转换的,完全看不懂.
按你前面的设计,应该是有10个字段是学生信息,80个字段是答案
你就只把那80个字段从列变成行,80行2列(一列主键关联到主表外键,另一列vchar)
不用再把学生信息都带出来了啊.
解决方案 »
- 在VS中怎么消除 img alt的警告?
- asp.net 获取url(类似http://localhost:1234/ 或http://www.baidu.com/)
- 接连找不到控件?
- 关于SampleAccessProviders.dll的问题
- 如何升级asp.net到1.1版本?
- 子查询问题?
- 关于部署.Net的问题,搜索了好多但都没有妥善的解决方案,高手们帮帮忙,决心将这个帖子送进FAQ列表!
- 怎样在VS环境中使用Server.MapPath
- 弱问:excel文件导入sql数据库的问题
- 最流行视频网站的制作
- 关于Graphics的绘图类的问题
- MV ActionResult 输出 XML 总是输出引用
其实呢有个最快的方法。交卷的时候,在客户端把答案拼接成json或者xml,或者用逗号分隔,然后一起提交,然后作为一个字段来保存。等都交卷完毕之后,在把这个json打开,一条一条的处理,这个时候慢就慢点,不会报错了。
或者nchar(20)选择题?填空题?不能是问答题吧。
交卷不就是将答案保存么.
你说如果监考老师一边收卷一边判卷,能不慢么.估计选择题里面存的就是ABCD,填空题里面存的就是答案,无非就是图省事,都弄成一个类型的罢了...
第二种情况:两个表各有8个字段,主表只有一条记录,从表关联对应有600条记录,字段半数为varchar(20)类型。这两种情况,我写了个程序去测试了一下所用的时间,相差还挺大;
第一种情况基本上不占用时间;
第二种需要2~3秒的时间,这只是一个人,如果是200人,会不会是要用400~600秒呀。而且我对程序也做了个测试,在成绩统计逻辑基本上是占用1秒的时间,更新数据库占用了约4~5秒;
mxBLL.Update(mxModelLs); 这是题目明细表,一题有600条记录
tmBLL.Update(tmModelLs); 这是题目表,一个人24题,即24条记录。
dtBLL.Update(dtModel); 这是人员考试表,一个人一条记录这三条执行时耗时最严重,如否优化。