提高代码的运行速度
电脑配置VFP9 汉化版 7423
这是一门科目的考试成绩,保存在JMSS1字段中,共有8题(各有129403条记录),以逗号分隔,成绩不但有0分、3分,还有带小数位的成绩(如1.5分),见下图
2,2,2,2,0,3,3,3 分别代表每题得到的分数。
根据这台电脑的配置情况,获取这门科目8题的有关数据耗时4秒。
要求:1、获取每题分值对应的人数,效果图如下
2、尽最大能力缩短程序运行的时间
附上运行代码及相关数据:
sp.rar
(451.53 KB)
程序代码:
t1 = SECONDS() CLOSE DATABASES USE 选择\sp ALIAS aa ln = OCCURS(",", jmss1) + 1 && 获取题目的数量 FOR lnj = 1 TO ln CREATE CURSOR fz (nfz n(4, 2), nsl I) && 保存分值的 INDEX on nfz TAG fz SELECT VAL(GETWORDNUM(jmss1, lnj, ",")) nfz FROM aa INTO CURSOR temp SCAN IF SEEK(temp.nfz, "fz", "fz") = .T. REPLACE nsl WITH nsl + 1 IN fz ELSE INSERT INTO fz VALUES (temp.nfz, 1) ENDIF ENDSCAN ENDFOR MESSAGEBOX(SECONDS() - t1) SELECT fz BROWSE