like'%匹配的文字%',SQL Server 2008怎么优化?like%匹配的文字%,SQL Server 2008怎么优化??请
like'%匹配的文字%',SQL Server 2008怎么优化? like'%匹配的文字%',SQL Server 2008怎么优化??请高手帮助解决,不胜感激! [最优解释]
使用like'%匹配的文字%',无法优化,因为索引起不到作用.
不过like'匹配的文字%',索引起作用. [其他解释]
补充下,如果业务的确需要完全模糊匹配,即:where col like '%parten%',建议使用其他的基于数据库的产品之一:组要的思路是将数据库的数据抓取出来->Build成Endeca或者Solr可以识别的Index->用户查询直接检索Index文件 1.endeca 2.solr
[其他解释]
where col like '%parten%'--如果col上建立了Index,SQL Server也无法使用Index,但应该也不会Table Scan,可以Index Scan
where col like 'parten%'--如果col上建立了Index,SQL Server可以使用col上Index。理解方式如下:Mysql中有PreIndex(前缀索引)的机制,也就是说如果我的某个字段前面N个字符长度的唯一率达到了90%以上,那么我们的Index就可以在该字段的前面N个字符上。回到SQL Server中,它就可以使用左边的Parten来匹配索引。
[其他解释] 假如该字段上有索引,并且查询的选择性足够高:
LIKE '匹配的文字%',可以执行Index Seek,效率高。
LIKE '%匹配的文字%',不能执行Index Seek,但可能执行Index Scan,而Index Scan是有可能比Table Scan效率高的。简单地说“索引起不到作用”,太武断了。