以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- like效率问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=186437) |
-- 作者:尘埃落定 -- 发布时间:2023/5/3 11:23:00 -- like效率问题 请问老师,下面这句代码效率比较低,请问有优化的办法吗? Dim xmsum As Double = DataTables("科目核算余额表").Compute("sum(期末余额)", "科目代码 like \'" & kmdm & "*\' and 项目名称 = \'" & lmnm & "\'")
|
-- 作者:有点蓝 -- 发布时间:2023/5/3 11:25:00 -- like的效率一向都不高,优化的方法就是尽量不使用like。如果不存在重复的项目名称,可以去掉科目代码这个条件 |
-- 作者:尘埃落定 -- 发布时间:2023/5/3 11:31:00 -- 避不开啊! |
-- 作者:有点蓝 -- 发布时间:2023/5/3 11:35:00 -- 增加一个级码,比如,1、2、3级,直接使用级码判断。要想精确的查询,往往需要增加一些冗余的信息 |
-- 作者:尘埃落定 -- 发布时间:2023/5/3 12:00:00 -- 换了一个思路,问题解决了!在“科目核算余额表”中增加了一列“一级科目代码”,然后不用like,直接用等于,原来需要2400多秒才能完成的计算,现在不到7秒就可以完成。 |