Foxtable(狐表)用户栏目专家坐堂 → like效率问题


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

主题:like效率问题

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


加好友 发短信
等级:一尾狐 帖子:413 积分:3319 威望:0 精华:0 注册:2019/1/4 23:39:00
like效率问题  发帖心情 Post By:2023/5/3 11:23:00 [只看该作者]

请问老师,下面这句代码效率比较低,请问有优化的办法吗?
    Dim xmsum As Double = DataTables("科目核算余额表").Compute("sum(期末余额)", "科目代码 like '" & kmdm & "*' and 项目名称 = '" & lmnm & "'")

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


加好友 发短信
等级:超级版主 帖子:107873 积分:548728 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/5/3 11:25:00 [只看该作者]

like的效率一向都不高,优化的方法就是尽量不使用like。如果不存在重复的项目名称,可以去掉科目代码这个条件

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


加好友 发短信
等级:一尾狐 帖子:413 积分:3319 威望:0 精华:0 注册:2019/1/4 23:39:00
  发帖心情 Post By:2023/5/3 11:31:00 [只看该作者]

避不开啊!

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


加好友 发短信
等级:超级版主 帖子:107873 积分:548728 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/5/3 11:35:00 [只看该作者]

增加一个级码,比如,1、2、3级,直接使用级码判断。要想精确的查询,往往需要增加一些冗余的信息

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


加好友 发短信
等级:一尾狐 帖子:413 积分:3319 威望:0 精华:0 注册:2019/1/4 23:39:00
  发帖心情 Post By:2023/5/3 12:00:00 [只看该作者]

换了一个思路,问题解决了!在“科目核算余额表”中增加了一列“一级科目代码”,然后不用like,直接用等于,原来需要2400多秒才能完成的计算,现在不到7秒就可以完成。

 回到顶部