A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© KevinJavaEE 初级黑马   /  2019-4-25 14:01  /  673 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一、视图

    --视图的概念:视图就是提供一个查询的窗口,所有数据来自原表(虚拟表)
    --视图的作用?
    -----(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';--触发单列索引


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马