| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 600 人关注过本帖
标题:用程序,实现在学生表中到成绩表获取最高成绩,如何优化速度
只看楼主 加入收藏
qdtatalei
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2023-7-20
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
用程序,实现在学生表中到成绩表获取最高成绩,如何优化速度
用程序,在学生科目表中,把科目的最高成绩找出来,如下程序,实际运行时,如数据量较大,程序运行缓慢,甚至要达到1小时以上,请教大神,如何优化?
select 1
Shu = RECCOUNT()
for i = 1 to Shu   
   go i
   XH = alltrim(学号)
   KCID = alltrim(课程ID)
   RDCJ = -10


   select 2
   locate for alltrim(学号) == XH and alltrim(课程ID) == KCID
   
      do while found()
           if isblank(成绩成绩)
              RDCJ = Max(RDCJ,-1)
          else
              RDCJ = Max(RDCJ,成绩)         
          endif
         continue
      enddo
  
   select 1

   repl 认定成绩 with alltrim(STR(RDCJ))

endfor
搜索更多相关主题的帖子: 学生 select 成绩 表中 优化 
2023-07-20 14:17
laowan001
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:66
帖 子:1094
专家分:2693
注 册:2015-12-30
收藏
得分:5 
VFP9
select 学号,课程ID,max(成绩) RDCJ from 表2 group by 学号,课程ID into cursor 单科最高
update a set a.认定成绩=transform(b.RDCJ)) FROM 表1 a,单科最高 b where a.学号=b.学号 and a.课程ID=b.课程ID
use in 单科最高


实际运行时,如数据量较大,程序运行缓慢,甚至要达到1小时以上
想问一下,多大数据量时会这样?

[此贴子已经被作者于2023-7-20 15:35编辑过]

2023-07-20 15:21
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9848
专家分:27241
注 册:2012-2-5
收藏
得分:5 
上传相关数据看看

坚守VFP最后的阵地
2023-07-20 15:42
yiyanxiyin
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:9
帖 子:242
专家分:1856
注 册:2023-6-29
收藏
得分:5 
如果是海量数据,先整理数据, 去除学号、课程ID的前后空白, 不要因数据不规范增加查询时间, 然后学号,课程ID建索引
2023-07-20 18:29
z12689
Rank: 2
等 级:论坛游民
帖 子:50
专家分:83
注 册:2021-4-15
收藏
得分:5 
程序运行1小时以上?共计多少条记录?
locate远不如用索引查找快,数据量大的时候效率提升的不是一点半点
试试2楼的SQL,我在145116条记录运行的时间是0.13秒
图片附件: 游客没有浏览图片的权限,请 登录注册




[此贴子已经被作者于2023-7-21 08:32编辑过]

2023-07-21 08:26
dbf永动机
Rank: 2
等 级:论坛游民
威 望:1
帖 子:77
专家分:21
注 册:2022-8-30
收藏
得分:0 
学生表能有多少行,百万行数据查询也没这么慢啊,而且这个查询用一句连表查就可以实现
2023-08-18 08:35
快速回复:用程序,实现在学生表中到成绩表获取最高成绩,如何优化速度
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030455 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved