以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  伤透脑筋,问题出在哪儿?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=71910)

--  作者:hbhb
--  发布时间:2015/7/20 13:59:00
--  伤透脑筋,问题出在哪儿?
大师:像下面的一段代码,红色部分运行时间较长,劳驾如何改良?



--  作者:hbhb
--  发布时间:2015/7/20 13:59:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:请教代码.txt


--  作者:大红袍
--  发布时间:2015/7/20 14:05:00
--  
 跟你说了,不要用sqlfind,要用find
--  作者:hbhb
--  发布时间:2015/7/20 14:11:00
--  
那张表不是临时生成的表?
--  作者:大红袍
--  发布时间:2015/7/20 14:14:00
--  

DataTables("dtpkmdy").sqlFind

 

想办法改成

 

DataTables("dtpkmdy").Find

 

-----------基本是这里耗时。其余的不清楚你的逻辑无法说。


--  作者:hbhb
--  发布时间:2015/7/20 14:20:00
--  
这段简要的代码竟然运行126秒,第一循环数500,临时表5000行。
--  作者:大红袍
--  发布时间:2015/7/20 14:25:00
--  

 正常啊,

 

1、多次用到compute、find、select等函数了啊;

 

2、上传例子,说明逻辑

 

3、看完常见效率问题 http://www.foxtable.com/help/topics/2226.htm

 


--  作者:hbhb
--  发布时间:2015/7/20 14:25:00
--  
怪事改成find后变为30秒,究竟为何,这张表很小呀,从后台不是快的吗?
--  作者:大红袍
--  发布时间:2015/7/20 14:28:00
--  

 用sqlfind每次需要建立连接,肯定慢。

 

 其余看7楼,特别是第三点


--  作者:hbhb
--  发布时间:2015/7/20 14:34:00
--  
谢谢!一段一段在测试,全部改成sql语句后不知如何?