您的位置:首页 > 数据库 > Oracle

Oracle加索引

2016-08-08 20:29 961 查看
创建索引的最终目的:提高数据检索效率。

         首先,让我们查看一下scott.emp下有没有索引:

         select index_name from all_indexes where table_name='EMP'

         结果发现系统给主键是自建索引的:PK_EMP

         

         接着自定义索引列:job和deptno

         create index i_job_deptno on emp(job,deptno)

 重复第一步,验证是否成功。

         如何正确使用索引?

  

         1.如果where子句出现OR操作符或者单独引用deptno列,则索引失效。

 select *from emp where job='CLERK' ------走索引

         select *from emp where deptno=10    ------不走索引

         select *from emp where job='CLERK' and deptno=10  -------走索引

         select *from emp where job='CLERK' or deptno=10     -------不走索引

         2.避免在索引上使用函数。select *from emp where substr(ename,1,2)='SM' -----失效

         3.避免在索引上使用IS NULL/IS NOT NULL。select *from emp where job is null-----失效

         4.避免在索引列上使用NOT(!=、<>)。select *from emp where job!='CLERK'-----失效

         5.注意通配符%的使用

           select *from emp where job like '%CLERK%'   ------失效

           select *from emp where job like 'CLERK%'      ------高效

程序员必备神器,简单实用,工作之余请不要忘记锻炼哦~点击打开链接

       

         

         

          
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息