以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 上万行的高效查找 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=154348) |
-- 作者:tld -- 发布时间:2020/9/12 6:09:00 -- 上万行的高效查找 老师好,后台有上万条记录,在字段 【列1】中查找是否包含字符串“A”,用什么代码高效? 谢谢老师!!!
|
-- 作者:有点蓝 -- 发布时间:2020/9/12 9:08:00 -- 参考:http://www.foxtable.com/webhelp/topics/0396.htm |
-- 作者:tld -- 发布时间:2020/9/12 11:18:00 -- 老师好。在后台中,对字段【列1】进行查找,判断是否有记录 “包含“ 字符串 “A” ,我目前知道三种方法: 1:对datatable 用 SQLselect ,对集合逐行 for each next,对每行的列1 进行IndexOf ; 2:用SQLGetComboListString ,然后用IndexOf ,(字符长度会非常大,是否对长度有限制) 3:用 SQLgetvalue 然后用 for each next,对每个成员进行IndexOf判断。 数据量少的时候无所谓,但以后数据量会很大,希望找到更高效的方法。上述方法哪个更高效些?是否有更高效的方法?用SQLGetComboListString 对字符串的长度有没有限制? 请老师帮忙指点。谢谢! |
-- 作者:有点蓝 -- 发布时间:2020/9/12 11:28:00 -- 直接使用like查询,完全没有必要什么for each、IndexOf 的:http://www.foxtable.com/webhelp/topics/0102.htm Dim drs As List(of DataRow) = DataTables("订单").SQLSelect(" 列1 like \'%A%\'") SQLGetComboListString 和SQLgetvalue 也一样 |
-- 作者:tld -- 发布时间:2020/9/12 21:27:00 -- 谢谢 |