以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]查询 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=101129) |
-- 作者:苏州老街 -- 发布时间:2017/5/25 13:54:00 -- [求助]查询 老师好,下面是窗口模糊查询的内部函数,我有一个表有28万条行在查询的时候很慢。我想通过修改代码进行提速,可以吗? \'生成可见的列名称 窗口模糊查询 Dim Cols,Vals As New List(of String) Dim flt As String = "1=1" For Each c As Col In Args(0).Cols If c.Visible = True cols.add(c.name) End If Next \'生成查询条件 Vals.AddRange(Args(1).Replace("\'","\'\'").Replace("*","[*]").Split(",")) \'查询值列表并保证其有效 Dim i As Integer = 0 For Each Val As String In Vals Dim temp As String = "" For Each c As String In Cols temp = temp & " Convert(" & c & ",\'System.String\') like \'%" & Val & "%\' Or" Next flt = flt & " and ("& temp.SubString(0, temp.length-3) & ")" Next Return flt
|
-- 作者:有点色 -- 发布时间:2017/5/25 14:07:00 -- 既然是模糊匹配,那么就没有优化的空间了。
你加载28万行数据?这不是很迟内存?尽量用分页加载,部分加载的方式。 |
-- 作者:苏州老街 -- 发布时间:2017/5/25 14:23:00 -- 谢谢老师 |