避免在SQL查询中使用LIKE

时间:2013-11-27 11:11:36

标签: sql sql-server tsql database-performance sql-like

在查询中我可以使用什么而不是LIKE? 由于LIKE对搜索条件的性能影响较小。

我的情景:

SELECT 
    *
FROM 
    MetaDataTag
WHERE 
    Name LIKE 'SUN RCC%'

我无法使用contains作为表格上的全文索引,我不会选择。

建议非常有用。

2 个答案:

答案 0 :(得分:6)

在您的特定情况下,LIKE不是一个糟糕的选择,因为您只使用后缀通配符。您的查询实际上可以使用Name列上的索引。

看一下这个可视化解释的原因:http://use-the-index-luke.com/sql/where-clause/searching-for-ranges/like-performance-tuning

答案 1 :(得分:0)

试试这个..

SELECT 
    *
FROM 
    MetaDataTag
WHERE PATINDEX('SUN RCC%', Name ) != 0