求个检索算法,按顺序最大匹配字符串,(最好是内存匹配,SQL如果有好办法也欢迎
拿URL分析举例来讲
HTTP://WWW.XX.COM.CN/ABC/BCD/HA/AA.HTML
分段得到 WWW.XX.COM.CN ABC BCD HA 文件部分不要
数据表有 4条记录
1:WWW.XX.COM.CN
2:WWW.XX.COM.CN ABC
3:WWW.XX.COM.CN ABC BCD
4:WWW.XX.COM.CN ABC BCDEF
要求检索出最大的匹配 应该得到 3
HTTP://WW.COM/NEW/
分段得到 WW.COM NEW
数据记录如下
1:WW.COM
2:WW.COM NEW
3: WW.COM NEW LINK
要返回行2.
类似这种匹配查询 我想了一天 也没找到什么窍门
假定 数据表中最大段数是3 也就是说 最多匹配3级 那么恐怕也要搜索三遍才好确定。
但是数据量是很大的, 也许有几万条。
请教高人给个算法或者设计 谢谢。
可以把数据放到 SQL 里 可以把多段存成多个字段
数据表的修改很少 但是查询非常频繁
谢谢
HTTP://WWW.XX.COM.CN/ABC/BCD/HA/AA.HTML
分段得到 WWW.XX.COM.CN ABC BCD HA 文件部分不要
数据表有 4条记录
1:WWW.XX.COM.CN
2:WWW.XX.COM.CN ABC
3:WWW.XX.COM.CN ABC BCD
4:WWW.XX.COM.CN ABC BCDEF
要求检索出最大的匹配 应该得到 3
HTTP://WW.COM/NEW/
分段得到 WW.COM NEW
数据记录如下
1:WW.COM
2:WW.COM NEW
3: WW.COM NEW LINK
要返回行2.
类似这种匹配查询 我想了一天 也没找到什么窍门
假定 数据表中最大段数是3 也就是说 最多匹配3级 那么恐怕也要搜索三遍才好确定。
但是数据量是很大的, 也许有几万条。
请教高人给个算法或者设计 谢谢。
可以把数据放到 SQL 里 可以把多段存成多个字段
数据表的修改很少 但是查询非常频繁
谢谢
...全文
相关推荐
SQL计算字符串中最大的递增子序列的方法
求字符串中最大的递增子序列 数据库环境:SQL SERVER 2005 如题,求字符串“abcbklmnodfghijkmer”中最大的递增子序列。这个字符串有点特别, 只由26个小写字母a-z组成。 大概思路如下: 1.将字符串转到一列存储,并生成行号 2.设置一个递增计数器列,默认为1,比较上下行的字符,如果在字典中的顺序是递增, 则计数器加1,否则,计数器置1 3.找出计数器最大的数及对应的行号,根据这2个数截取字符串 思路有了,下面直接贴代码 DECLARE @vtext VARCHAR(255) SET @vtext = 'abcbklmnodfghijkmer' /*讲字符串转成
SQL执行顺序
SQL执行顺序介绍
SQL查询原理及执行顺序
SQL查询原理及执行顺序,对数据库优化有一定的帮助。
sql执行顺序大总结
sql执行顺序 全收录
SQL语句字符串分割
SQL语句字符串分割


