当前位置: 首页 > 图文教程 > 数据库 > MSSQL > sqlserver 中charindex/patindex/like 的比较

MSSQL
大内存SQL Server数据库的加速剂
SQL Server视图管理中的四个限制条件
从客户端提升SQL Server数据库性能
影响SQL Server性能的三个关键点
MySQL鲜为人知的几个特殊技巧
最简单删除SQL Server中所有数据的方法
揭秘SQL Server 2008性能和可扩展性
SQL SQL Server 2008中的新日期数据类型
SQL Server 2005中的CLR集成
新手入门:防范SQL注入攻击的新办法
SQL Server 2005常见问题浅析
SQL Server数据库优化经验总结
SQL Server元数据的管理与应用
最新的关键SQL Server漏洞已被微软证实
如何使用SQLServer数据库查询累计值
SQL Server 2008中的新日期数据类型
SQL注入攻击成为新威胁将挑战操作系统安全
并行查询让SQL Server加速运行
SQL Server 2008数据挖掘查询任务
三招解决SQL Server数据库权限冲突

MSSQL 中的 sqlserver 中charindex/patindex/like 的比较


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 345 ::
收藏到网摘: n/a

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只能匹配固定字符串