首页 新闻 会员 周边

如何让数据查询速度加快

0
悬赏园豆:50 [已关闭问题]

请教各位大哥,如何让以下数据查询加快速度。

就是在统计一次综合性考试中各个子考试中每个班在各个分数段的人数如下面的情况:

本次考试名称:12月月考,所属科目:语文,考试时间:2009-12-24
班级名称 分值 最高分 平均分 参考 及格 0-90 90-105 105-120 120-135 135-150  
2012级1班 150 109 87 57 25 32 22 3 0 0  
2012级2班 150 109 88.04 54 26 28 23 3 0 0  
2012级3班 150 109 89.63 57 30 27 28 2 0 0  
2012级4班 150 107 79.87 53 13 40 12 1 0 0  
2012级5班 150 107 90.49 57 32 25 26 6 0 0  
2012级6班 150 108 79.98 55 16 39 14 2 0 0  
2012级7班 150 108 82.45 53 16 37 15 1 0 0  
本次考试名称:12月月考,所属科目:数学,考试时间:2009-12-24
班级名称 分值 最高分 平均分 参考 及格 0-90 90-105 105-120 120-135 135-150  
2012级1班 150 137 68.63 57 10 47 7 1 1 1  
2012级2班 150 101 47.65 54 3 51 3 0 0 0  
2012级3班 150 121 57.47 57 6 51 3 2 1 0  
2012级4班 150 82 46.55 53 0 53 0 0 0 0  
2012级5班 150 143 83.6 57 26 31 13 10 2 1  
2012级6班 150 115 54.35 55 7 48 3 4 0 0  
2012级7班 150 115 46.17 53 2 51 1 1 0 0  
本次考试名称:12月月考,所属科目:英语,考试时间:2009-12-24
班级名称 分值 最高分 平均分 参考 及格 0-90 90-105 105-120 120-135 135-150  
2012级1班 150 120 81.79 57 19 38 14 4 1 0  
2012级2班 150 121 71.2 54 10 44 8 1 1 0  
2012级3班 150 120 86.61 57 31 26 25 5 1 0  
2012级4班 150 104 69.38 53 8 45 8 0 0 0  
2012级5班 150 125 94.84 57 40 17 23 14 3 0  
2012级6班 150 113 65.71 55 11 44 8 3 0 0  
2012级7班 150 110 75.08 53 19 34 15 4 0 0

其中的像最高分,分数段人数都是从数据库里面读取的,但是如果是十次考试一起查询的话,反映时间会用去6秒左右,请问各位大哥如何才能减少反映时间

贾贵队长的主页 贾贵队长 | 初学一级 | 园豆:73
提问于:2010-01-03 10:44
< >
分享
其他回答(2)
0

如果sql语句复杂 数据展示结构稳定 建议用汇总表

如果不想那么麻烦 加个缓存就可以了

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2010-01-03 12:37
0

是否可以考虑把科目放到group by 里面一起统计,这样一条SQL 语句就可以统计出所有的科目,然后你再在程序中按科目过滤一下,或者把结果输出到临时表中再查询,这样理论上应该会快 1/N 左右 (N 为科目数)。另外不知道你索引是怎么建的,SQL语句是怎么写的,这方面应该也可以做一些优化。

eaglet | 园豆:17139 (专家六级) | 2010-01-04 06:46
0

先过滤后连接

wjr | 园豆:210 (菜鸟二级) | 2010-01-12 20:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册