以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  递归的效率问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=101112)

--  作者:aidimeng
--  发布时间:2017/5/25 9:45:00
--  递归的效率问题

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar

附件中有自定义函数,名称递归

 数据少的时候计算还可以,现在的数据有3000多,计算一次大约要三分钟。 曾经尝试改用循环,但总是有这样那样的问题。

求助各位 有没有好的办法来解决这个效率低的问题啊

 

之前的帖子

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=99356&replyID=&skin=1

[此贴子已经被作者于2017/5/25 9:46:20编辑过]

--  作者:有点蓝
--  发布时间:2017/5/25 10:36:00
--  
几千行的数据就全部加载进来处理吧,没有必要使用sqlfind、sqlselect这种用法,加载后使用find和lselect
--  作者:有点色
--  发布时间:2017/5/25 10:50:00
--  
sqlfind、sqlselect这样的效率太低,触发太多的时候,不要那样用。
--  作者:aidimeng
--  发布时间:2017/5/25 12:18:00
--  
在正式的程序中我用的sql来完成的,但速度很慢
--  作者:有点色
--  发布时间:2017/5/25 12:53:00
--  
以下是引用aidimeng在2017/5/25 12:18:00的发言:
在正式的程序中我用的sql来完成的,但速度很慢

 

用sql就是会慢。你应该先把表数据全部加载出来,再用 find 和 select,不能用sqlfind和sqlselect


--  作者:aidimeng
--  发布时间:2017/5/25 13:11:00
--  

关于加载我在看看,但我一直顾虑的是 影响程序的快慢是不是与递归的次数有关系啊 3000人 递归的次数很可观了


--  作者:有点色
--  发布时间:2017/5/25 15:34:00
--  

 汗,终于理清了你的逻辑。你计算一行,不就可以得到全部行的数据了?只需要递归第一个的值就行了。参考

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


--  作者:aidimeng
--  发布时间:2017/5/25 21:59:00
--  
超级感谢,亲下图片点击可在新窗口打开查看