sqlserver 中charindex/patindex/like 的比較
更新時間:2009年09月18日 23:27:44 作者:
sqlserver 中charindex/patindex/like 的比較,大家可以看下根據需要自行選擇。
一、測試環(huán)境:
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巧用row_number和partition by分組取top數據
SQL Server 2005后之后,引入了row_number()函數,row_number()函數的分組排序功能使這種操作變得非常簡單2011-12-12
mdf文件和ldf文件導入到sql server 2005實現語句
導入mdf文件和ldf文件到數據庫是網站搬家或者是初學者學習源碼是必要的一步,接下來為大家詳細介紹實現sql語句,感興趣的你可不要錯過了哈希望可以幫助到你2013-03-03
SQL 2005使用專用管理員連接(DAC)的技巧及修改系統(tǒng)表的方法
SQL Server 2005 為管理員提供了一種特殊的診斷連接,以供在無法與服務器建立標準連接時使用。2011-07-07
分頁存儲過程(一)使用sql2005的新函數構造分頁存儲過程
分頁存儲過程一直是很多人經常用到的東西,怎么樣才能設計一個既實用,又強大,還可以解決大數據量的分頁存儲過程呢?2010-05-05
SQL2008中通過DBCC OPENTRAN和會話查詢事務
無論是有意無意,如果事務在數據庫中保持打開,則它會阻塞其他進程對修改后的數據進行操作。2011-06-06

