sqlserver 中charindex/patindex/like 的比较
更新时间:2009年09月18日 23:27:44 作者:
sqlserver 中charindex/patindex/like 的比较,大家可以看下根据需要自行选择。
一、测试环境:
1。数据库:Sql Server 2008
2。测试表:15000记录,char类型主键,无其他索引
3。测试字段:ntext 类型,最大数据长度12000
二、测试语句:
1。select * from ProductTemp where ProductDesc like '%192.168.70.236%'
2。select * from ProductTemp where charindex('192.168.70.236',ProductDesc)>0
3。select * from ProductTemp where patindex('%192.168.70.236%',ProductDesc)>0
三、测试结果:
1。效率测试结果: charindex > like > patindex ,效率差大概20%
2。适用性测试结果:
1)charindex对于检索结果最大位移有要求,经测试,Sql2008中的ntext字段,位移不能超过3987,否则返回0;
2)patindex 和 like 无位移限制;
3)patindex 支持匹配表达式,可以应用正则;
4)like可以用'%oldstring%'进行模糊匹配;
5)charindex只能匹配固定字符串
1。数据库:Sql Server 2008
2。测试表:15000记录,char类型主键,无其他索引
3。测试字段:ntext 类型,最大数据长度12000
二、测试语句:
1。select * from ProductTemp where ProductDesc like '%192.168.70.236%'
2。select * from ProductTemp where charindex('192.168.70.236',ProductDesc)>0
3。select * from ProductTemp where patindex('%192.168.70.236%',ProductDesc)>0
三、测试结果:
1。效率测试结果: charindex > like > patindex ,效率差大概20%
2。适用性测试结果:
1)charindex对于检索结果最大位移有要求,经测试,Sql2008中的ntext字段,位移不能超过3987,否则返回0;
2)patindex 和 like 无位移限制;
3)patindex 支持匹配表达式,可以应用正则;
4)like可以用'%oldstring%'进行模糊匹配;
5)charindex只能匹配固定字符串
相关文章
SQLServer 2005数据库连接字符串 连接sql2005必备资料
现在好多朋友开始用sqlserver 2005了,因为跟sql2000有区别,所以这里整理了下,需要的朋友可以参考下。2010-04-04关于sqlserver 2005 使用临时表的问题( Invalid object name #temptb)
最近在利用 SSRS 2005 做报表的时候,调用带有临时表的数据源时,系统会报错,并无法进入向导的下一步,提示There is an error in the query. Invalid object name #temptb2012-07-07Sql Server安装出错,安装程序配置服务器失败的解决方法小结
机子之前有装了sql server 2000,而且可以正常使用,最近突然无法连接到本地数据库,打算重装,结果重装时出现了无法安装完毕的问题,一下总结了重装时需要注意的问题,以及常见错误的解决方法2012-10-10
最新评论