Foxtable(狐表)用户栏目专家坐堂 → [求助] 这断代码运行速度怎么提高 『搞定,摆个擂台啦』


  共有9658人关注过本帖树形打印复制链接

主题:[求助] 这断代码运行速度怎么提高 『搞定,摆个擂台啦』

帅哥哟,离线,有人找我吗?
lin_hailun
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/15 16:39:00 [显示全部帖子]

 这个……楼主,你这段代码想实现什么呢?要从源头入手。

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/15 16:48:00 [显示全部帖子]

以下是引用e-png在2013-1-15 16:44:00的发言:
就是给r列做个标记 "sbl" .


满足什么条件的做标记?

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/15 17:12:00 [显示全部帖子]

以下是引用e-png在2013-1-15 16:57:00的发言:

代码中有条件

 


如果是这样的条件的话,用连接查询吧。连成一张表比较好操作。

cmd.commandText = "select distinct a._Identify from {xxx} a inner join {xxx} b on (a.借方金额 = b.贷方金额 or a.贷方金额 = b.借方金额)"
dim dt as datatable = dt.exec
dim idxs as string = ""
for each dr as datarow in dt
    idxs &= dr("_Identify") & ","
next
datatables("xxx").replacefor("_Identify in (" & idxs.TrimEnd(",") & ")")

这样比较好。

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/16 9:34:00 [显示全部帖子]

以下是引用e-png在2013-1-15 18:39:00的发言:
谢谢lin,但效果差不多。 


有木有具体的数据可以测试?楼主?弄上来看看。

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/16 14:11:00 [显示全部帖子]

 楼主,你这个东西真的要考验算法哦。因为要统计金额的累计,多少行都是不确定的,这样比较计算起来,一定会很慢的。正在想办法……我先忙其它的了。

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/16 20:56:00 [显示全部帖子]

 终于是弄好了。用sql语句直接在后台弄,然后再加载到foxtable里,只做了第一种情况,第二种要组合累加行的比较麻烦,楼主先自己想想办法。

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



 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/17 9:39:00 [显示全部帖子]

以下是引用e-png在2013-1-17 0:50:00的发言:

 

结果有问题,随意抽查了一个“自定义项”就发现了。 见红框里面的:

[此贴子已经被作者于2013-1-17 0:50:41编辑过]


加一个条件吧,限制一下重复就行了。

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/17 22:45:00 [显示全部帖子]

 别沉了……发觉使用find直接查询修改也不会太慢,改了一下,第一种情况的。弄好第一种情况,第二种情况就比较好弄了。

 代码还有优化的余地。楼主加油。

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



 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/22 11:25:00 [显示全部帖子]

以下是引用e-png在2013-1-21 19:10:00的发言:
林老师,你的按钮每多点一次,多会有不同的结果,这样可不太好。 我是不懂sql语句的,看不懂,也就不知道怎么改了。 有兴趣可以再试试,也希望其他高手加油。

 


sql语句只是一个过渡,用来得到处理的数据。你把sql语句放到命令窗口里执行,看看最后得到的表,根据这个表处理数据比在原先的那个表处理要快或者好得多,这个是思路。

你可以这样试一下。比如你这样想,我要处理这些问题,我得到哪个临时的表可以帮助自己减少查询的次数等等。
[此贴子已经被作者于2013-1-22 11:25:23编辑过]

 回到顶部