和一般检索的前端一致匹配相反,这次的要求是DB中的数据和输入的检索字符串前端一致,也就是说DB中的数据可以更短。比如db中的数据是"abc"和检索条件"abcdefg"就是匹配的。
检索条件字符串 like concat(table.field,'%')
这种写法当然没有问题,不过,这样的做法我想是无法使用索引加速的,而且,为了使用escape在此之上还要对table.field再作字符串替换,替换\->\\,%->\%,这样效率会比较低。
还有种做法
table.field=left( 检索条件, length(table.field))
这样也在table.field上作了函数处理,同样担心效率会比较低。
有没有更高效的作法呢?
检索条件字符串 like concat(table.field,'%')
这种写法当然没有问题,不过,这样的做法我想是无法使用索引加速的,而且,为了使用escape在此之上还要对table.field再作字符串替换,替换\->\\,%->\%,这样效率会比较低。
还有种做法
table.field=left( 检索条件, length(table.field))
这样也在table.field上作了函数处理,同样担心效率会比较低。
有没有更高效的作法呢?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货