首页  ·  知识 ·  数据库
Oracle中的模糊查询
网友      编辑:德仔   图片来源:网络
"m_l_cont_text"> Oracle数据库支持类似于 LIKE'%界面%'这种格式的对字符串的模糊查询。 为

 

Oracle数据库支持类似于 LIKE  '%界面%'这种格式的对字符串的模糊查询。 

为了得出其查询速度快或慢的结论,做了如下实验:

(1)在赵老师的机器上产生了一个10万条记录的表,不过它只有一个长度为1000 类型为VARCHAR 的字段。

(2)在VB程序中书写了如下程序段
Dim db As New ADODB.Connection
Dim adoPrimaryRS As New ADODB.Recordset
db.CursorLocation = adUseClient
db.Open "PROVIDER=MSDASQL;driver={Microsoft ODBC for Oracle};server=zl;uid=zlhis;pwd=his;"
adoPrimaryRS.CursorLocation = adUseClient
adoPrimaryRS.CursorType = adOpenStatic
adoPrimaryRS.LockType = adLockBatchOptimistic
Debug.Print Time, Timer
Set adoPrimaryRS = db.Execute("select NAME from TEST where name like '%中国国%' ")
Debug.Print Time, Timer

(3)经多次运行,并把匹配串改为如'%1%','%aklsdjflsasdfasd%'等,发现所耗时间在5——10秒之间波动,其值与匹配串的长度、返回记录的数量都关系。而与记录集的CursorLocation等属性关系不大。
(4)后来我把匹配串改成'34%'之类的格式,结果所耗时间一般在3秒左右,比较稳定。

(5)最后我把匹配串改成'%34'之类的格式,结果所耗时间与'%34%'差不多。


 
本文作者:网友 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读