黑马程序员技术交流社区

标题: 是兄弟就来22期砍我,我是李杨 [打印本页]

作者: KevinJavaEE    时间: 2019-4-25 14:01
标题: 是兄弟就来22期砍我,我是李杨
一、视图

    --视图的概念:视图就是提供一个查询的窗口,所有数据来自原表(虚拟表)
    --视图的作用?
    -----(I)视图可以屏蔽掉一些敏感字段
    -----(II)保证总部和分部数据及时统一

    --1.1.查询语句创建表
    create table emp as select * from scott.emp;
    select * from emp;
   
    --1.2.创建视图【必须与dba权限】
    create view v_emp as select ename,job from emp;
   
    --1.3.查询视图
    select * from v_emp;
   
    --1.4.修改视图【不推荐】,会总部的emp表的数据
    update v_emp set job='CLERK' where ename ='ALLEN';
    commit;
   
    --1.5.创建只读视图【推荐】
    create view v_emp2 as select ename,job from emp with read only;
   

二、索引

    --索引的概念:索引就是在表的列上构建一个二叉树
    --达到大幅度提高查询效率的目的,但是索引会影响增删改的效率
    --2.1.单列索引
    --单列索引触发规则,条件必须是索引列中的原始值。
    --单行函数,模糊查询,都会影响索引的触发
    --创建单列索引
    create index idx_ename on emp(ename);
    select * from emp where ename='SCOTT';
   
    --2.2.复合索引
    --创建复合索引
    --复合索引中第一列为优先检索列
    create index idx_enamejob 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';--触发单列索引







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2