三种like查询
1 like 'memo%'
2 like '%memo'
3 like '%memo%'=============
第一种通过建索引能加快查询速度
第二种我想了一个方法不知道能不能实现,请大家帮忙评估一下。找一个将字符串逆转的函数(也就是将字符串倒序,我没找到这样的函数,不知道大家有没有见过)
给字段建函数索引
查询时用like 'omem%'第三种我一时想不出什么好办法,麻烦各位指点一下,谢谢
1 like 'memo%'
2 like '%memo'
3 like '%memo%'=============
第一种通过建索引能加快查询速度
第二种我想了一个方法不知道能不能实现,请大家帮忙评估一下。找一个将字符串逆转的函数(也就是将字符串倒序,我没找到这样的函数,不知道大家有没有见过)
给字段建函数索引
查询时用like 'omem%'第三种我一时想不出什么好办法,麻烦各位指点一下,谢谢
解决方案 »
- 谢谢 赐教 基础问题 大家答
- DBA平时应该注意数据库的哪些问题呢?
- 如何重新编译无效对象?
- 简单的储过程有编译错误?
- 求一条sql查询语句,查询结果是母-->子-->子子...链的形式!
- 对创建脚本一点不懂,特地来问
- 在服务器上的sql*plus里insert into 一条中文纪录为何是乱码?急!!!!
- 这个触发器怎么写? 着急呀!请高手帮忙看看!!!
- 请教个简单的问题,我建表的时候先建表空间,然后再建自己的表,请问选择的方案一般选什么?是system吗?
- 我想新建一个A表,但是这个A表的列名是 我查询B表的结果集,请问该如何实现?存储过程?
- plsql Tools->Preferences中如何设置才能提示“未明确定义列”?
- oracle数据库导出问题
1.使用右匹配,如:like 'memo%'
2.使用instr代替,然后建立instr函数索引. 如: instr(字段名,'memo')>0;
3.在查询的字段和like的字段上面建一个复合索引,这样在查询的时候就会走全索引扫描,即从索引段直接取数据,而不会再去查表了。
不知道这种情况怎么建索引?
对于你第2种: like '%memo'
模糊查询时不走索引的
你可以用精确查询,如:
SubStr(col,Length(col),-4)='memo'
instr(col,'omem')>0create index idx_name on tb(instr(col,'omem'))