oracle like instr 性能

问题描述

oracle like instr 性能
网上看了一些例子,说是oracle的instr性能要比like的要好,我自己测试了一下:
select count(*) from t_log_app ; 总数据为13558892行

select count(*) from t_log_app where instr(fentityid'CE7AE')>0;
这条语句执行结果为:2606 耗时 40s
select count(*) from t_log_app where fentityid like '%CE7AE%' ;
这条语句执行结果为:2606 耗时 41s
这样看其实性能都差不多。(注:fentityid非索引)

再测试一下索引
select count(*) from t_log_app where instr(fitemname'addnew')>0;
这条语句执行结果为:268126 耗时 40s
select count(*) from t_log_app where fitemname like '%addnew%' ;
这条语句执行结果为:268126 耗时 ≈7s
这样看 like又比instr性能要好了。这究竟是什么原因???

解决方案

对于:fitemname like '%addnew%' ; 创建索引其实是没有用的,oracle不会走索引,但是他速度快了,一般是因为之前执行过这个sql,共享池中有缓存

时间: 2024-09-20 10:51:17

oracle like instr 性能的相关文章

oracle数据库的性能调整

oracle|数据|数据库|性能     oracle是一个高性能数据库软件.用户可以通过参数的调整,达到性能的优化.性能优化主要分为两部分:一是数据库管理员通过对系统参数的调整达到优化的目的,二是开发人员通过对应用程序的优化达到调整的目的. 在此,仅就系统参数的调整进行探讨,而不涉及应用程序的优化.对系统参数的调整,可以分为以下几个部分: (1)调整内存分配 系统全局区(SGA)是一个分配给ORACLE 包含ORACLE 数据库实例控制信息的内存段.SGA的大小对系统性能的影响极大,其缺省参数

Oracle优化和性能调整将要涉及的问题

为了保证Oracle数据库运行在最佳的性能状态下,在信息系统开发之前就应该考虑数据库的优化策略 .优化策略一般包括服务器操作系统参数调整.数据库参数调整.网络性能调整.应用程序SQL语句分析 及设计等几个方面,其中应用程序的分析与设计是在信息系统开发之前完成的. 分析评价Oracle数据库性能主要有数据库吞吐量.数据库用户响应时间两项指标.数据库用户响应时 间又可以分为系统服务时间和用户等待时间两项,即: 数据库用户响应时间=系统服务时间+用户等待时间 因此,获得满意的用户响应时间有两个途径:一

Oracle数据库的性能调整与优化方法探析

1 引言 Oracle数据库作为一种具有高可靠性.高安全性.高兼容性的大型关系型数据库,在金融.通信.医 疗.生产制造等行业得到了广泛的应用,已逐渐成为企业信息化建设的重要基础平台.在航天领域中, Oracle数据库应用在人力资源.型号物资.财务及研制过程管理等管理信息系统的同时,还用来存储和管 理大量星上数据.要使Oracle数据库适应应用需求,有效管理和利用信息时代不断产生并急剧膨胀的数据 ,从而更好地支撑业务应用,对Oracle数据库优化显得尤为重要. 在实际应用中,常常会遇到Oracle

Mysql实现Oracle的INSTR函数的方法实例

如果我们的项目要从Oracle迁移到Mysql,但MySQL的instr函数只能查找子串是否在父串中,没法按照出现的次数进行查找. 这里我自己写了一个,以便迁移.当然我这里仅仅针对的是迁移,可能没有完全实现原有函数的细节. Oracle 里用了几次如下的调用, SQL> select instr('This is belong to you, but not to me.','to',1,1) as pos from dual;                       POS        

oracle应用服务器(oracle application server)性能监控问题

问题描述 oracle应用服务器(oracle application server)性能监控问题 oracle应用服务器(oracle application server)性能监控问题,哪位大哥能提供或指点下怎么利用oracle DMS实现oracle应用服务监控呀,最好是提供一个demo,感激不尽! 解决方案 http://wenku.baidu.com/link?url=nI39XAliv0001zBSCa4h8pDQgu0T13e4KEP9ealY-vGqmBpPVnEvZOYDe8t

如何保持Oracle数据库SQL性能的稳定性

如何保持Oracle数据库SQL性能的稳定性 >     

使用BenchmarkSQL 测试Oracle 12c TPC-C 性能

使用BenchmarkSQL测试一下Oracle 12c的TPC-C性能,同时对比一下PostgreSQL 9.5的性能. 测试机用的是FusionIO卡,24核的CPU,192G内存. 12c安装请参考 http://blog.163.com/digoal@126/blog/static/1638770402015112281556942/ http://blog.163.com/digoal@126/blog/static/163877040201511232138735/ 下载benchm

BenchmarkSQL 测试Oracle 12c TPC-C 性能

使用BenchmarkSQL测试一下Oracle 12c的TPC-C性能,同时对比一下PostgreSQL 9.5的性能. 测试机: 3 * PCI-E SSD,逻辑卷条带,XFS,数据块对齐,16核开HT,256G内存. 12c安装,配置请参考 http://blog.163.com/digoal@126/blog/static/1638770402015112281556942/ http://blog.163.com/digoal@126/blog/static/1638770402015

用裸设备来提高Oracle数据库的性能

你需要知道这样一个事实:磁盘I/O是影响Oracle数据库性能的一个重要原因.就本质来说,任何Oracle数据库负责存储数据,从磁盘中查询数据是非常昂贵和费时的操作. 由于许多Oracle系统需要大量的I/O操作,很多Oracle专职人员在碰到大块(DB_BLOCK_SIZE)数据操作时就考虑使用"裸设备"(raw device).裸设备指得是绕过UNIX 的Journal文件系统(Journal File System ,JFS)直接进行访问的磁盘,这样就省去了JFS文件系统的开销.