JAVA多线程可以提高Oracle的查询速度吗?来说说意见吧!
炖苍蝇 2013-08-01 10:35:58 先感谢各位的点击~!入正题:
Student类 里面有 id name sex 语文分数 数学分数 英语分数
数据库表有如下字段: id ExamDate(考试日期) 语文分数 数学分数 英语分数
7001 2013-01-01 80 80 78
7002 2013-01-01 78 70 90
7003 2013-01-01 78 70 90
7001 2013-02-01 80 80 78
7002 2013-02-01 78 70 90
7003 2013-02-01 78 70 90
..............数据量有800W
需求:根据id查询一个年级(有年级和学员id的关系表)每位学员考试日期范围内的各个分数,算语文的总分,数学的最高分,英语的平均分。
目前我的做法:1.定义一个方法获取年级范围内的学员id,返回个List<Student>出去。
2.再写个方法接住List<Student>进行遍历,一个个id拿出来查询上面的表,
在游标next的同时就计算总分,判断最高分,计算平均分,然后add。
最后返回出来的就是一个计算好的List。
在此感谢各位高手们给点意见,这个例子是根据我的工作需求修改了方式表达出来的,数据表已经建了索引,测试查询速度一条6-10毫秒左右,但是速度不太稳定,有时候先查了第一次有点慢,第二次就开始快。我最想知道的就是这种循环遍历查询的方式可不可取,能否改进,我在想能不能用多线程来做,并发进行总比一个个来快一点吧。求解!求意见!