日期:2014-05-16  浏览次数:21276 次

怎么提高like查询效率
三种like查询
1 like 'memo%'
2 like '%memo'
3 like '%memo%'

=============
第一种通过建索引能加快查询速度
第二种我想了一个方法不知道能不能实现,请大家帮忙评估一下。

找一个将字符串逆转的函数(也就是将字符串倒序,我没找到这样的函数,不知道大家有没有见过)
给字段建函数索引
查询时用like 'omem%'

第三种我一时想不出什么好办法,麻烦各位指点一下,谢谢



------解决方案--------------------
用like是不走索引的
------解决方案--------------------
探讨
三种like查询
1 like 'memo%'
2 like '%memo'
3 like '%memo%'

=============
第一种通过建索引能加快查询速度
第二种我想了一个方法不知道能不能实现,请大家帮忙评估一下。

找一个将字符串逆转的函数(也就是将字符串倒序,我没找到这样的函数,不知道大家有没有见过)
给字段建函数索引
查询时用like 'omem%'
……

------解决方案--------------------
探讨
三种like查询
1 like 'memo%'
2 like '%memo'
3 like '%memo%'

=============
第一种通过建索引能加快查询速度
第二种我想了一个方法不知道能不能实现,请大家帮忙评估一下。

找一个将字符串逆转的函数(也就是将字符串倒序,我没找到这样的函数,不知道大家有没有见过)
给字段建函数索引
查询时用like 'omem%'
……

------解决方案--------------------
SQL code

对于你第2种: like '%memo'
模糊查询时不走索引的
你可以用精确查询,如:
SubStr(col,Length(col),-4)='memo'

------解决方案--------------------
探讨
三种like查询
1 like 'memo%'
2 like '%memo'
3 like '%memo%'

=============
第一种通过建索引能加快查询速度
第二种我想了一个方法不知道能不能实现,请大家帮忙评估一下。

找一个将字符串逆转的函数(也就是将字符串倒序,我没找到这样的函数,不知道大家有没有见过)
给字段建函数索引
查询时用like 'omem%'
……

------解决方案--------------------
没有太好的办法.
------解决方案--------------------
reverse函数
------解决方案--------------------
没有什么好办法,用全文索引呢?