Oracle数据库like查询
2013-10-31 13:35
106 查看
当使用like做模糊查询时,会经常使用"%%"这种情况,但这种情况在及时有索引的情况下,也很耗时,此时会进行全盘扫描,通常我们可以换成instr(字段名,要匹配的字符)>0
例如
select * from student s where s.name like '%a%';
select * from student s where instr(s.name,'a')>0;
instr(字段名,要匹配的字符) > 0 等同于 like '%a%'
instr(字段名,要匹配的字符) = 1 等同于 like 'a%'
instr(字段名,要匹配的字符) = 0 等同于 like '%a'
例如
select * from student s where s.name like '%a%';
select * from student s where instr(s.name,'a')>0;
instr(字段名,要匹配的字符) > 0 等同于 like '%a%'
instr(字段名,要匹配的字符) = 1 等同于 like 'a%'
instr(字段名,要匹配的字符) = 0 等同于 like '%a'
相关文章推荐
- Oracle数据库,忽略大小写Like模糊查询(SQL Server,MySql原理相同)
- Oracle数据库,忽略大小写Like模糊查询(SQL Server,MySql原理相同)
- 用charindex代替like中的%提高查询效率
- SQL提高查询效益之in、not in、between、like等条件讲述
- Java中使用PrepateStatement并且like模糊查询
- iBatis下使用like查询,以及需要注意的问题
- Oracle数据库中大数据量查询优化问题--分区表的操作方法
- mybatis做like模糊查询
- 一些Oracle数据库中的查询优化建议综合
- Sql语句中,Contains与Like查询结果不相同的问题
- 索引与优化like查询
- 一些Oracle数据库中的查询优化建议综合
- ACCESS模糊查询like的解决方法&&SQL查询语句通配符问题
- 模糊查询like的写法问题
- ibatis中使用like模糊查询
- oracle数据库修改并查询当前最大连接数
- python-python中LIKE查询实现
- Oracle中like查询下划线等特殊字符的处理
- MySql模糊查询like通配符与使用正则查询详细介绍
- Oracle数据库知识梳理---续(多表查询)