- 浏览: 74789 次
- 性别:
- 来自: 苏州
最新评论
http://zhaolinjnu.blog.sohu.com/108165720.html
t表中将近有1100万数据,很多时候,我们要进行字符串匹配,在SQL语句中,我们通常使用like来达到我们搜索的目标。但经过实际测试发现,like的效率与instr函数差别相当大。下面是一些测试结果:
SQL> set timing on
SQL> select count(*) from t where instr(title,'手册')>0;
COUNT(*)
----------
65881
Elapsed: 00:00:11.04
SQL> select count(*) from t where title like '%手册%';
COUNT(*)
----------
65881
Elapsed: 00:00:31.47
SQL> select count(*) from t where instr(title,'手册')=0;
COUNT(*)
----------
11554580
Elapsed: 00:00:11.31
SQL> select count(*) from t where title not like '%手册%';
COUNT(*)
----------
11554580
另外,我在结另外一个2亿多的表,使用8个并行,使用like查询很久都不出来结果,但使用instr,4分钟即完成查找,性能是相当的好。这些小技巧用好,工作效率提高不少。通过上面的测试说明,ORACLE内建的一些函数,是经过相当程度的优化的。
发表评论
-
Oracle的schema、方案、模式、用户
2012-12-07 12:11 1031今天才对这几个概念 ... -
DBMS_STATS.GATHER_TABLE_STATS详解
2012-08-15 15:12 1685作用:DBMS_STATS.GATHER_TABLE_S ... -
Oracle表连接操作——Merge Sort Join(合并排序连接)
2012-08-15 15:12 3292关系型数据库并不是最早出现的数据库表现形式,之前还存在层 ... -
Oracle表连接操作——Nest Loop Join(嵌套循环)
2012-08-15 15:12 7850关系型数据库并不是最 ... -
Oracle hash join
2012-08-15 15:13 982hash join是oracle里面一个 ... -
Oracle表连接操作——Hash Join(哈希连接)下
2012-08-15 15:13 1612Hash Join是Oracle CBO时代经常出现的一 ... -
Oracle表连接操作——Hash Join(哈希连接)上
2012-08-14 14:19 13886在Oracle中,确定连接操作类型是执行计划生成的重要方 ... -
oracle 递归查询,向上和向下遍历
2012-08-14 11:10 19235--查询全部资源信息 select * from urm_cl ... -
SQL语句优化技术分析
2012-08-14 11:08 908一、操作符优化1、IN 操 ... -
CBO和RBO介绍
2012-08-14 11:08 852Rule Based Optimizer(RBO) ... -
Install Oracle10gXE on Ubuntu Server using apt
2012-03-19 17:22 795With Oracle Database XE in prod ... -
Merge into 详细介绍
2012-03-15 15:40 889/*Merge into 详细介绍 MERGE ... -
ora-12516 tns listener could not find available handler with matching protocol
2012-03-12 15:51 8658公司数据库安装的是 Oracle10g XE(Oracle D ... -
CUUG《Oracle 监听和TNS配置》- 笔记
2012-02-24 22:07 2160监听负责多个实例 相关文件:Listener.ora和 ... -
批处理备份oracle
2012-02-24 22:07 791@echo off @title Oracle简易数据备份工具 ... -
oracle-ORA的原理
2012-02-07 14:15 10031、在一个应用环境当中,所有的服务器使用和管理同一个数据库,目 ... -
Oracle的卸载过程
2012-02-07 12:15 845修改注册表,在开始运行中执行regedit命令,进入注册表, ... -
创建表空间文件
2012-02-07 12:12 2200--1 创建表空间文件 --1.1 创建ASIT 实体表空间 ... -
SQL触发器实例讲解
2012-02-07 12:10 808SQL触发器实例1 定义: ... -
oracle 10g 默认用户名密码及解锁
2012-02-07 12:04 9511. 安装时选择的自动安装,忘了用户名和密码,导致现在试了几个 ...
相关推荐
本文通过实例代码给大家介绍了Oracle中Like与Instr模糊查询性能对比,需要的朋友参考下吧
但是,使用contains谓词有个条件,那就是列要建立索引,也就是说如果上面语句中students表的address列没有建立索引,那么就会报错。 好在我们还有另外一个办法,那就是使用instr,instr的用法如下: select * from ...
主要介绍了Oracle的substr和instr函数简单用法 的相关资料,需要的朋友可以参考下
informix数据库实现oracle环境instr函数功能
1、instr()函数的格式 (俗称:字符查找函数) 格式一:instr( string1, string2 ) // instr(源字符串, 目标字符串) 格式二:instr( string1, string2 [, start_position [, nth_appearance...注:在Oracle/PLSQL中,in
INSTR的用法 Oracle里的Indexof INSTR的用法 Oracle里的Indexof INSTR的用法 Oracle里的Indexof
INSTR (源字符串, 目标字符串, 起始位置, 匹配序号) 在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始到字符的结尾就结束。 语法如下: instr( string1, string2 ...
oracle中instr函数与substr函数详细说明(附实例)[归类].pdf
Oracle中INSTR的用法: INSTR方法的格式为 INSTR(源字符串, 要查找的字符串, 从第几个字符开始, 要找到第几个匹配的序号) 返回找到的位置,如果找不到则返回0. 例如:INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符...
instr函数用于从指定的位置开始,从大型对象中查找第N个与模式匹配的字符串。 用于查找内部大对象中的字符串的instr函数语法如下: dbms_lob.instr( lob_loc in blob, pattern in raw, offset in integer := 1; nth...
Oracle中常用的一些通用符号,帮助了解他们在语句当中所表达的意思
教你如何在vb中使用instr函数
Oracle中使用正则表达式 正则详解正则详解正则详解正则详解正则详解正则详解
sql :charindex(‘字符串’,字段)>0 charindex(‘administrator’,MUserID)>0 oracle:instr(字段,’字符串’,1,1) >0 instr(MUserID,’administrator’,1,1)>0 在项目中用到了Oracle中 Instr 这个函数,顺便仔细的...
/*ORACLE中的支持正则表达式的函数主要有下面四个:1,REGEXP_LIKE :与LIKE的功能相似2,REGEXP_INSTR :与INSTR的功能相似3,REGEXP_SUBSTR :与SUBSTR的功能相似4,REGEXP_REPLACE :与REPLACE的功能相似它们在...
ORACLE 正则表达式的使用(REGEXP_LIKE REGEXP_INSTR REGEXP_SUBSTR REGEXP_REPLACE)