sqlserver 中charindex/patindex/like 的比較
更新時(shí)間:2009年09月18日 23:27:44 作者:
sqlserver 中charindex/patindex/like 的比較,大家可以看下根據(jù)需要自行選擇。
一、測試環(huán)境:
1。數(shù)據(jù)庫:Sql Server 2008
2。測試表:15000記錄,char類型主鍵,無其他索引
3。測試字段:ntext 類型,最大數(shù)據(jù)長度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
三、測試結(jié)果:
1。效率測試結(jié)果: charindex > like > patindex ,效率差大概20%
2。適用性測試結(jié)果:
1)charindex對于檢索結(jié)果最大位移有要求,經(jīng)測試,Sql2008中的ntext字段,位移不能超過3987,否則返回0;
2)patindex 和 like 無位移限制;
3)patindex 支持匹配表達(dá)式,可以應(yīng)用正則;
4)like可以用'%oldstring%'進(jìn)行模糊匹配;
5)charindex只能匹配固定字符串
1。數(shù)據(jù)庫:Sql Server 2008
2。測試表:15000記錄,char類型主鍵,無其他索引
3。測試字段:ntext 類型,最大數(shù)據(jù)長度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
三、測試結(jié)果:
1。效率測試結(jié)果: charindex > like > patindex ,效率差大概20%
2。適用性測試結(jié)果:
1)charindex對于檢索結(jié)果最大位移有要求,經(jīng)測試,Sql2008中的ntext字段,位移不能超過3987,否則返回0;
2)patindex 和 like 無位移限制;
3)patindex 支持匹配表達(dá)式,可以應(yīng)用正則;
4)like可以用'%oldstring%'進(jìn)行模糊匹配;
5)charindex只能匹配固定字符串
相關(guān)文章
sqlserver巧用row_number和partition by分組取top數(shù)據(jù)
SQL Server 2005后之后,引入了row_number()函數(shù),row_number()函數(shù)的分組排序功能使這種操作變得非常簡單2011-12-12sql server 關(guān)于設(shè)置null的一些建議
我們在設(shè)計(jì)數(shù)據(jù)庫表的時(shí)候,總有些疑惑,到底是允許為NULL還是不允許為NULL,本文幫大家解除這個(gè)疑惑。2016-05-05sqlserver2005打造自動(dòng)備份的維護(hù)計(jì)劃圖解教程
SQL Server 2005中可以使用維護(hù)計(jì)劃來為數(shù)據(jù)庫自動(dòng)備份,減少數(shù)據(jù)庫管理員的工作負(fù)擔(dān)。2011-06-06mdf文件和ldf文件導(dǎo)入到sql server 2005實(shí)現(xiàn)語句
導(dǎo)入mdf文件和ldf文件到數(shù)據(jù)庫是網(wǎng)站搬家或者是初學(xué)者學(xué)習(xí)源碼是必要的一步,接下來為大家詳細(xì)介紹實(shí)現(xiàn)sql語句,感興趣的你可不要錯(cuò)過了哈希望可以幫助到你2013-03-03SQL 2005使用專用管理員連接(DAC)的技巧及修改系統(tǒng)表的方法
SQL Server 2005 為管理員提供了一種特殊的診斷連接,以供在無法與服務(wù)器建立標(biāo)準(zhǔn)連接時(shí)使用。2011-07-07分頁存儲過程(一)使用sql2005的新函數(shù)構(gòu)造分頁存儲過程
分頁存儲過程一直是很多人經(jīng)常用到的東西,怎么樣才能設(shè)計(jì)一個(gè)既實(shí)用,又強(qiáng)大,還可以解決大數(shù)據(jù)量的分頁存儲過程呢?2010-05-05SQL2008中通過DBCC OPENTRAN和會話查詢事務(wù)
無論是有意無意,如果事務(wù)在數(shù)據(jù)庫中保持打開,則它會阻塞其他進(jìn)程對修改后的數(shù)據(jù)進(jìn)行操作。2011-06-06