比较patindexcharindex//喜欢在SQLServer

1。测试环境:

1、数据库:SQL Server 2008

2:测试表:15000记录,char类型主键,没有其他索引。

3。试验场:ntext类型,最大数据长度12000

两。测试语句:

1。选择*从producttemp哪里productdesc像% 192.168.70.236 %

2。选择*从producttemp哪里charindex('192.168.70.236 ',productdesc)> 0

3。选择*从producttemp哪里patindex(% 192.168.70.236 %,productdesc)> 0

三。测试结果:

1。效率测试结果:charindex >喜欢> patindex,效率差值为20%

2、适用性试验结果:

1)charindex是检索结果的最大位移所需。经过测试,在SQL2008 ntext字段不超过3987,否则为0。

2)无位移限制patindex像;

3)patindex支持匹配表达式,可用于常规;

4)喜欢用% oldstring %模糊匹配。

5)charindex只能匹配一个固定的字符串