Welcome 微信登录

首页 / 数据库 / MySQL / 使用Oracle的instr函数与索引配合提高模糊查询的效率

一般来说,在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语句会使索引数据重新排序的影响。[Oracle]表空间之间的数据迁移记录在执行Oracle数据库导入时出现ORA-01659异常的解决办法相关资讯      Oracle基础教程 
  • Oracle块编程返回结果集详解  (11/10/2013 10:45:58)
  • Oracle基础教程之设置系统全局区  (08/22/2013 14:24:00)
  • Oracle基础教程知识点总结  (06/18/2013 07:43:32)
  • Oracle基础教程之tkprof程序详解  (10/22/2013 11:49:50)
  • Oracle基础教程之sqlplus汉字乱码  (07/18/2013 16:30:00)
  • Oracle 管理之 Linux 网络基础  (02/16/2013 18:37:35)
本文评论 查看全部评论 (0)
表情: 姓名: 字数