Oracle like语句优化

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情

  近期发现自己写的应用程序效率低下,登陆系统时速度超慢,后发现执行了一个全表查询语句,这个语句就将近耗时2分钟,在网上查询了一些优化方法,总结如下:
  1、like
  在查询表时,数据量比较大,尽量不要使用 like % 的语句,这样会导致语句使用全表查询,降低查询效率;
  例如:select count(1) from ld_grxxsy where djdw like ‘GA14%’;
  如果转换为:select count(1) from ld_grxxsy where instr(djdw,’GA14’) >0;
  将会大幅提高查询效率,由原来查询2分钟反馈结果缩短至不到1秒。
  2、instr函数
  语法如下:
  instr( string1, string2, start_position,nth_appearance )
  string1:源字符串,要在此字符串中查找。
  string2:要在string1中查找的字符串 。
  start_position:代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。
  nth_appearance:代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。
  注意:
  位置索引号从1开始。
  如果String2在String1中没有找到,instr函数返回0。
  示例:
  SELECT instr(‘syranmo’,’s’) FROM dual; – 返回 1
  SELECT instr(‘syranmo’,’ra’) FROM dual; – 返回 3
  SELECT instr(‘syran mo’,’at’,1,2) FROM dual; – 返回 0
  

WINDOWS下SIP拨号的实现 在WIN10上拨打SIP电话  由于我的交换原理实验有一个是关于SIP的抓包的。而之前从未接触过SIP,所以在如何完成一次SIP拨号上遇到了不少问题,查了好多资料都没有完整的或者写的很清楚的,这里就对那些资料做一个总结,给出一个比较完善的解决方案,一来是记录此次实验的收获,而来也可能为其他有同样困惑的人解惑。  废话不多说直接开始。首先是下载一个可以拨打SIP电话的客户终端,这里我选择的是MicroSIP, 下载红圈内的文件,下载好之后直接一路安装即可,没有什么特别注意的地方。  安装好客户端之后,就需要注 阅读详情

相关推荐

【BigWorld 游戏服务器引擎】Cell 架构设计介绍,及Java实现方案的探索

横向扩展(Scalability):通过动态增减CellApp和BaseApp的数量,可以轻松应对玩家人数的变化。世界可以做得非常大,只需增加更多的 Cell。负载分离(Load Separation):将不同性质的负载分离,避免了单一进程瓶颈。CPU 密集型的实时计算(CellApp)和 I/O 密集型的数据操作(BaseApp)互不影响。高效的视野管理(AOI):每个 Cell 只关心自己区域内和边界上的实体,大大降低了计算复杂度。容错性:某个CellApp。

代码时光 1139

优化Oracle数据库性能:LIKE操作的优化

Oracle 数据库中,LIKE 操作是一种常用的模糊匹配方式,用于在字符串中查找符合指定模式的数据。然而,当处理大量数据时,使用 LIKE 操作可能导致查询性能下降。为了提高数据库的效率,本文将重点介绍如何优化使用 LIKE 操作的查询。 索引前缀搜索是一种优化 LIKE 操作的方法,通过使用索引的前缀匹配来提高查询性能。下面我们将详细介绍如何使用索引前缀搜索来优化 LIKE 操作。

小蓝枣的博客 4196

部分旧版统信国产系统下载资源

注:全部自来网络查找,建议到官网下载最新版。

aggs1990的专栏 4974

Oracle like语句使用

% 零或者多个字符 _ 单一任何字符(下划线) \ 特殊字符 [] 在某一范围内的字符,如[0-9]或者[aeth] [^] 不在某范围内的字符,如[^0-9]或者[^aeth ]1.%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。 将u_name有"三"字符的记录全部找出 找出u_name中既有"三"又有"猫"的记录,请使用and条件 搜索“三”在“猫”前面且仅含有一次“三”和“猫” 2. _ 表示任意单个

qq_62687015的博客 5127

Oracle中那些like 低效率优化处理方案

Oracle中那些like 低效率优化处理方案

weixin_39721883的博客 976

oracle数据库like查询数据优化

instr(字段,'关键字') = 1 相当于 字段like '关键字%' 表示以‘关键字’开头的字符串。instr(字段,'关键字') > 0 相当于 字段like '%关键字%' 表示在字符串中包含‘关键字’instr(字段,'关键字') = 0 相当于 字段not like '%关键字%' 表示在字符串中不包含‘关键字’

qq_43792712的博客 932

Oracle like 优化

(1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表

随便记记 3812

ORACLELIKE语句优化

1。尽量不要使用 like '%%'     2。对于 like '%' (不以 % 开头),Oracle可以应用 colunm上的index 3。对于 like '%…' 的 (不以 % 结尾),可以利用reverse + function index 的形式,变化成 li

dqswuyundong的专栏 3645

Oracle SQL 语句中对Like优化

[color=red][color=red]1、尽量不要使用 like '%..%' 2、对于 like '..%..' (不以 % 开头),Oracle可以应用 colunm上的index 3、对于 like '%...' 的 (不以 % 结尾),可以利用 reverse + function index 的形式,变化成 like '..%' 代码[/color][/color] 建...

java-admin 522

oracle数据库like语句优化,Like SQL语句优化

Like SQL语句优化的一个小测试1.尽量不要使用 like '%..%'2.对于 like '..%..' (不以 % 开头),Oracle可以应用 colunm上的index3.对于 like '%...' 的 (不以 % 结尾),可以利用reverse + function index 的形式,变化成 like '..%'具体的测试流程: (测试工具:PLSQL Developer)[1...

weixin_29124947的博客 650

Oracle_优化_Like语句优化

1.尽量不要使用 like '%%' 2.对于like '%' 可以用列的索引 3.对于like'%...'(以%开头,不以%结尾)可以利用 反序列和函数索引 变成 like '%' 4.查询 like '%xx%' 应该使用函数INSTR(String source, String xx) 例如:SELECT COUNT(*) FROM tb_name a WHERE INSTR(a.c

441

oracle数据库like语句优化,使用reverse索引优化like语句

--原查询sql如下:select t.CUST_ID,t.CUST_NAME,t.CUST_SEX_DM,t.GRADE_NO,t.ID_CARD,t.CUST_AGE,t.TEL_WORK,t.TEL_HOME,t.TEL_MOBILE,t.CUST_EMAIL,t.HOME_ADDRESS,t.ADDRESS_WORK,t.POST_WORK,t.POST_HOME,t.CUST_TYPE,...

weixin_39634022的博客 371

oracle数据库like语句优化,教你高速掌握Oracle数据库中的like优化-性能调优

当前位置:我的异常网» 数据库»教你高速掌握Oracle数据库中的like优化-性能调优教你高速掌握Oracle数据库中的like优化-性能调优www.myexceptions.net网友分享于:2013-08-10浏览:3次教你快速掌握Oracle数据库中的like优化-性能调优1。尽量不要使用 like '%..%'2。对于 like '..%..' (不以 % 开头),Oracl...

weixin_39533052的博客 399

Oracle SQL 语句中对Like优化(引用reverse函数)

重点关注reverse用法:reverse(字段)like reverse(属性值);实际例子体现出得查询效率:            select Max(Ana_Rqb_Date) from Ana_Rqb where ana_rqb_org_id like 00%;            --25s            select Max(Ana_Rqb_Date

爱肯的专栏 1235

oracle revers函数,Oracle SQL 语句中对Like优化(引用reverse函数)

重点关注reverse用法:reverse(字段)like reverse(属性值);实际例子体现出得查询效率:select Max(Ana_Rqb_Date) from Ana_Rqb where ana_rqb_org_id like '00%';--25sselect Max(Ana_Rqb_Date) from Ana_Rqb where reverse(ana_rqb_org_id)li...

weixin_39830917的博客 407

Oracle数据库中简单的Like优化-作者: RollingPig

<br />简单说两句,具体看例子   1。尽量不要使用 like '%..%'   2。对于 like '..%..' (不以 % 开头),Oracle可以应用 colunm上的index   3。对于 like '%...' 的 (不以 % 结尾),可以利用reverse + function index 的形式,变化成 like '..%' <br /><br />  简单说两句,具体看例子<br />  1。尽量不要使用 like '%..%'<br />  2。对于 like '..%..' (不

thy822的专栏 728

sql语句查询,多字段like模糊查询优化【转载】【oracle

1、多字段like模糊查询优化: 最常见的写法: where a like '%xx%' or b like '%xx%' or c like '%xx%'; 这种写法查询效率低,经过调查,下面的方法可以替代,并且效率高: 2、如果like的关键字相同: where instr(nvl(a, '')||nvl(b,'')||nvl(c,''), 'xx') > 0 把要模糊查询的字段先拼接起来,拼接时需要把null转成‘’,否则只要有一个字段值是空,整个拼接的字符串都成空了, 然后用i

万能的编程语言 979
上一篇: Linux基本操作
下一篇: Oracle的锁表与解锁
凰宸
博客等级 码龄19年 7粉丝 16原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值