Oracle对象-视图和索引

Oracle 对象-视图

视图概念

​ 视图就是提供一个查询的窗口,所有的数据来自于原表

  1. 创建视图【必须有dba权限】

    --查询语句创建表
    create table emp as select * from scott.emp;
    select * from emp;
    
    --创建视图
    create view v_emp as select ename,job from emp;
    
    --查询视图
    select * from v_emp;
    
    --修改视图[能修改,不推荐]
    update v_emp set job='CLERK' where ename='ALLEN';
    commit;
    
    --创建只读视图
    create view v_emp1 as select ename,job from emp with read only;
    
  2. 视图的作用

    1. 视图可以屏蔽掉一些铭感字段
    2. 保证总部和分部数据及时统一

Oracle 对象-索引

索引的概念

​ 索引就是在表的列上构建一个二叉树,达到大幅度提高查询效率的目的,但是索引会影响增删改的效率。

  1. 单列索引

    create index idx_ename on emp(ename);
    

    单列索引触发规则:条件必须是索引列中的原始值。

    单行函数、模糊查询都会影响索引触发

  2. 复合索引

    create index idx_ename on emp(ename,job);
    

    复合索引触发规则:复合索引中第一列为优先检索列,如果要触发复合索引,必须包含有优先检索列中的原始值。

    select * from emp where ename='SCOTT' and job='xx';--触发复合索引
    select * from emp where ename='SCOTT' or job='xx';--不触发索引
    select * from emp where ename='SCOTT';--触发单列索引
    
posted @ 2019-08-29 20:00  Sm1lence  阅读(238)  评论(0编辑  收藏  举报