一般来说,在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)