Like与Instr模糊查询性能

项目中用到like模糊查询,但是总觉的太小家子气,有没有高逼格的呢?

instr(title,‘手册‘)>0  相当于  title like ‘%手册%‘
instr(title,‘手册‘)=1  相当于  title like ‘手册%‘
instr(title,‘手册‘)=0  相当于  title not like ‘%手册%‘

总结转自:http://my.oschina.net/macula/blog/191634?fromerr=0ghVfShF

时间: 2024-11-06 18:36:06

Like与Instr模糊查询性能的相关文章

[转]ORACLE中Like与Instr模糊查询性能大比拼

instr(title,'手册')>0  相当于  title like '%手册%' instr(title,'手册')=1  相当于  title like '手册%' instr(title,'手册')=0  相当于  title not like '%手册%' t表中将近有1100万数据,很多时候,我们要进行字符串匹配,在SQL语句中,我们通常使用like来达到我们搜索的目标.但经过实际测试发现,like的效率与instr函数差别相当大.下面是一些测试结果: SQL> set timi

工作问题总结一:由数据查询慢来浅谈下oracle中的like和instr函数的模糊查询效率问题

今天上午10点左右,boss告诉我们生产环境一客户在某功能下录入信息时,出现加载数据很慢的情况,因为严重影响了客户使用,就让我们赶紧查实原因,组长和我就根据领导提供的用户登录系统,找到出问题的那个功能,选择买方和银行信息后加载限额信息时组长的电脑出现的反应是浏览器卡死,我的电脑上是去趟厕所回来坐下来之后才加载出来,我靠3分钟左右的时间,崩溃!!!  赶紧查代码  经查询代码发现,加载的数据是从千万量级(有2321w余条)的表中查询,查询语句中使用了like操作符,经研究发现确实是因为查询的sql

Oracle 模糊查询方法

在这个信息量剧增的时代,如何帮助用户从海量数据中检索到想要的数据,模糊查询是必不可少的.那么在Oracle中模糊查询是如何实现的呢? 一.我们可以在where子句中使用like关键字来达到Oracle模糊查询的效果:在Where子句中,可以对datetime.char.varchar字段类型的列用Like关键字配合通配符来实现模糊查询,以下是可使用的通配符: (1)% :零或者多个字符,使用%有三种情况 字段 like '%关键字%'字段包含"关键字"的记录 字段 like '关键字%

Oracle 模糊查询 优化

模糊查询是数据库查询中经常用到的,一般常用的格式如下: (1)字段  like '%关键字%'   字段包含"关键字“的记录   即使在目标字段建立索引也不会走索引,速度最慢 (2)字段  like '关键字%'      字段以"关键字"开始的记录   可以使用到在目标字段建立的升序索引 (3)字段 like '%关键字'      字段以"关键字“结束的记录    可以使用到目标字段建立的降序索引 对于无法使用索引的 '%关键字%' 模式,有没有办法优化呢,答案

回味Oracle的模糊查询

select table_name,tablespace_name,temporary from user_tables where table_name like '%PROV%' 分析: table_name:表名(varchar2(30)); tablespace_name:存储表名的表空间(varchar2(30)): temporary:是否为临时表(varchar2(1)). 4种通配符的含义 % 表示零个或多个字符 _ 表示单个字符 [] 表示范围[a-f]或集合[abcdef]的

T-SQL---多值模糊查询的处理

多值模糊查询的处理 所谓多值模糊查询,就是应用程序中传递过来多个参数,对这些参数做拆分,拆分之后,对拆分结果的key值分别做模糊查询处理 对于精确匹配时,不管是单个Key值还是多个Key值,都很容易处理,备选方案也很多 对于模糊查询,单个key值也很容易,也就是 --where name like '%parameter%'(不要告诉我全模糊效率低之类的,我这里不是做性能对比的) 但是对于多个Key值的模糊处理,就不是太直接了,比如name字段,输入'三,四,五',要求分别按照三,四,五三个字符

oracle 中模糊查询对like的代替insrt()函数 可以做到效率节约一倍以上

昨天在处理一个字符拆分的功能时,用用到了insrt()函数,偶然发现其实特可以代替模糊查询的like,经多次测试可节约效率一倍以上. 代码如下: select distinct(a.deptname) from sys_depart a, gzdb_task b where instr(a.deptname,b.acceptor ) > 0; select distinct(a.deptname) from sys_depart a, gzdb_task b where a.deptname l

oracle SQL语句练习MERGE、模糊查询、排序、

Oracle支持的SQL指令可分为数据操作语言语句.数据定义语言语句.事务控制语句.会话控制语句等几种类型:1.数据操作语言语句数据操作语言语句(Data manipulation language,DML)用于进行数据的检索和更新操作.数据检索是数据库应用中使用频率最高的操作类型,因此数据检索的效率对数据库的整体性能影响显著.数据更新包括数据的插入.修改和删除等操作,数据更新操作具有一定的风险性,在其执行过程中DBMS必须保证数据的一致性,以确保数据有效.SELECT.INSERT.DELET

解密PHP模糊查询技术

慕课网解密PHP模糊查询技术学习笔记! 对于以前知识的巩固,可以跳跃式选择性观看! /** *解密PHP模糊查询技术 * *本节课程是PHP模糊查询技术专题视频之课程引入 *大纲: *    模糊查询的实用性,应用场景:站内搜索技术: * * *PHP用户查询器 案例演示 *(关键字高亮技术) * *程序流程: *客户端提交关键词, *程序端获取关键词,通过PHP模糊查询技术到用户信息库查询相关用户, *将查询结果返回到客户端. * *课程目标: *1掌握PHP模糊查询技术的应用 *2独立完成站