INSTR代替NOT LIKE
2024-09-05 23:20:34
instr(title,'手册')>0 相当于 title like '%手册%'
instr(title,'手册')=1 相当于 title like '手册%'
instr(title,'手册')=0 相当于 title not like '%手册%'
特殊用法:
select id, name from users where instr('101914, 104703', id) > 0;
它等价于
select id, name from users where id = 101914 or id = 104703;
一般来说,在Oracle数据库中,我们对tb表的name字段进行模糊查询会采用下面两种方式:
1.select * from tb where name like '%XX%';
2.select * from tb where instr(name,'XX')>0;
若是在name字段上没有加索引,两者效率差不多,基本没有区别。
为提高效率,我们在name字段上可以加上非唯一性索引:
create index idx_tb_name on tb(name);
这样,再使用
select * from tb where instr(name,'XX')>0;
这样的语句查询,效率可以提高不少,表数据量越大时两者差别越大。但也要顾及到name字段加上索引后DML语句会使索引数据重新排序的影响。
摘自: http://www.blogjava.net/rabbit/archive/2013/01/21/394510.html
最新文章
- php生成唯一订单号
- Ubuntu firefox falsh
- C#多线程实践——线程同步
- commit后数据库干的工作
- php抽象类和接口
- QTP连接MySQL
- iOS常用的第三方库GitHub地址
- DOM 对象方法
- git 一口气带你走完git之旅
- centos-6.7 内核升级(转)
- The SQL Server instance returned an invalid or unsupported protocol version during login negotiatio
- 二维数组遍历的方式(for普通循环遍历、foreach循环遍历、toString方式遍历)
- 上海线下技术交流(AA制)
- xshell访问Ubuntu16.04显示乱码(即使在xshell设置了utf8)解决方案
- js高级-闭包
- JAVA面对对象(二)——继承、方法的覆写
- CentOS 6.x安装配置MongoDB 3.4.x
- MySQL升级方法一
- hdu2955(概率DP)
- git clone的时候filename too long解决办法
热门文章
- 夯实Java基础系列7:Java 代码块和执行顺序
- 【已转移】【Java架构:系统架构理论】一篇文章搞掂:RESTful
- PHP 常用算法【总结】
- C#-概念-类:类
- 关于VMware中的几个网络模式
- Learning OSG programing---Multi Camera in one window 在单窗口中创建多相机
- 初识内存分配ByteBuf
- Expected one result (or null) to be returned by selectOne() 数据库结果集和java实例
- MySQL-第一篇认识MySQL
- android环境问题