内容来自 http://blog.163.com/dreamman_yx/blog/static/2652689420105241733620/
第一种 (like '%sss%') like的内容如果前后都使用了%的话,是无法使用索引的,这应该是慢的主要原因
第二种(select ... like '%sss%')先select了一次,相当于用hash索引的方式过滤了一遍,结果集小了很多
第三种(charindex('sss',XXX)<>0 )使用了文本索引,所以速度比较快
在sql语句里,"like","not in","not exists"这几个是比较慢的,原因在于它们的实现机制。例如,如果我们在一个“字符串”里找查“另一个字符串”,而且这个字符串有通配符(%),不管是用顺序查找还是二分查找,效率都不见得太高。like比较符,如果用的是like "大药房%",这种方式会用索引扫描,但如果是 like "%大药房%",这种方式会用表扫描,该字段上的索引不起作用,速度会非常慢,如果你的记录很多,该字段很大的话。