zoukankan      html  css  js  c++  java
  • Oracle的视图和索引

    学习笔记:

    ##视图
        * 概念:视图就是提供一个查询的窗口,所有数据来自于原表。
        * 方法:
            * 查询语句创建表:
                * create table emp as select * from scott.emp;
            * 创建视图【必须有dba权限】
                * create view v_emp as select ename, job from emp;
            * 查询视图
                * select * from v_emp;
            * 修改视图【不推荐】
                * update v_emp set job='CLERK' where ename='ALLEN';
                * --做增删改需要加commit
                * commit;
            * 创建只读视图(with read only)
                * create view v_emp1 as select ename, job from emp with read only;

        * 作用:
            * 1. 视图可以屏蔽掉一些敏感字段。
            * 2. 保证总部和分部数据及时统一。


    ##索引
        * 概念:索引就是在表的列上构建一个二叉树。
        * 作用:
            * 达到大幅度提高查询效率的目的,但是索引会影响增删改的效率。
        * 方法:
            * 单列索引
            * 复合索引
        * 单列索引
            * 创建单列索引:
                * create index idx_ename on emp(ename);
            * 注意:
                * 单列索引触发规则,条件必须是索引列中的原始值。
                * 单行函数,模糊查询,都会影响索引的触发(不会触发索引)。
                * select * from emp where ename='SCOTT'
            
        * 复合索引
            * 创建复合索引:
                * 复合索引中第一列为优先检索列。
                * 如果要触发复合索引,必须包含有优先检索列中的原始值。
                * create index idx_ename_job on emp(ename,job);
            * 注意:
                * select * from emp where ename='SCOTT' and job = 'ANALYST';  --触发复合索引
                * select * from emp where ename='SCOTT' or job = 'ANALYST';  --不触发索引
                * select * from emp where ename='SCOTT';  --触发单列索引
        * 判断索引是否被触发(查看执行计划结果)
                * 1. 生成执行计划
                    * explain plan for 
                    * select * from emp where ename='SCOTT';
                        * 备注:explain plan for后面为要生成执行计划的查询语句
                * 2. 查看执行计划的结果
                    * select * from table(dbms_xplan.display);


            

  • 相关阅读:
    POJ 2756 Autumn is a Genius 大数加减法
    RoboGuice注入框架简单应用
    Android 从相冊获取近期拍摄的多张照片(获取相机拍照所存储的照片)
    不可不知的DIP、IoC、DI以及IoC容器
    Codeforces Round #156 (Div. 2)---A. Greg's Workout
    zend framework将zip格式的压缩文件导入并解压到指定文件
    TreeSet排序
    Bee Framework_百度百科
    duck
    anglehack参赛总结
  • 原文地址:https://www.cnblogs.com/edcoder/p/11961677.html
Copyright © 2011-2022 走看看