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);
Oracle的视图和索引的更多相关文章
- Oracle对象-视图和索引
Oracle 对象-视图 视图概念 视图就是提供一个查询的窗口,所有的数据来自于原表 创建视图[必须有dba权限] --查询语句创建表 create table emp as select * f ...
- java:Oracle(视图,索引,序列)
1.索引:索引一共分为4种 -- 在oracle中, -- normal:普通索引 -- unique:唯一索引 -- bitmap:位图索引 -- B 树索引:默认:如果不建立索引的情况下,orac ...
- Oracle数据库之视图与索引
Oracle数据库之视图与索引 1. 视图简介 视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改. 视图基于的表称为基表,视图是存储在数据字典里的一条SE ...
- Oracle视图,索引,序列
什么是视图[View] (1)视图是一种虚表 (2)视图建立在已有表的基础上, 视图赖以建立的这些表称为基表(3)向视图提供数据内容的语句为 SELECT 语句,可以将视图理解为存储起来的 SELEC ...
- oracle数据库表约束、视图、索引—该记录为本人以前微博的文章
一.Oracle 数据库常用操作续关于创建表时创建约束1.创建表的时候增加约束----约束是定义表中的数据应该遵循的规则或者满足的条件----约束是建立在列上的,让某一列或者某几列数据之间有约束--- ...
- oracle视图和索引
视图和索引 视图 视图的作用 控制数据访问.简化查询.避免重复访问相同的数据 视图的优点 限制用户只能通过视图检索数据,用户看不到底层基表 注意事项 视图可以理解为临时表,会随着真实表的数据变化而自动 ...
- Oracle 物化视图 说明
一. 物化视图概述 Oracle的物化视图是包括一个查询结果的数据库对像,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表.物化视图存储基于远程表的数据,也可以称为快照. 物化视图可 ...
- 深入学习Oracle分区表及分区索引
关于分区表和分区索引(About Partitioned Tables and Indexes)对于10gR2而言,基本上可以分成几类: • Range(范围)分区 • Has ...
- oracle 分区表和分区索引
很复杂的样子,自己都没有看完,以备后用 http://hi.baidu.com/jsshm/item/cbfed8491d3863ee1e19bc3e ORACLE分区表.分区索引ORACLE对于分区 ...
随机推荐
- 两数相加[链表加法] LeetCode.2
给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和 ...
- Skeleton-Based Action Recognition with Directed Graph Neural Network
Skeleton-Based Action Recognition with Directed Graph Neural Network 摘要 因为骨架信息可以鲁棒地适应动态环境和复杂的背景,所以经常 ...
- 201871010131-张兴盼《面向对象程序设计(java)》第二周学习总结
项目 内容 <面向对象程序设计(java)> https://home.cnblogs.com/u/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.c ...
- 朱石景 201671010457 团队项目评审&课程学习总结
项目 内容 这个作业属于哪个课程 http://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p/ ...
- django 解析上传xls文件
1.解析上传数据 class DataUploadAPIView(APIView): # authentication_classes = (JSONWebTokenAuthentication, S ...
- 修改opencart extension插件代码后无法重新安装的解决办法
有时我们在为opencart安装一些插件后,发现有些地方需要细微的调整,然后去修改插件代码重新安装,但是却没有成功.开始有点怀疑是不是不能修改代码,但也不至于啊,不然开发者怎么制作插件.应该是哪里出了 ...
- 【转】C++11新特性——lambda表达式
C++11的一大亮点就是引入了Lambda表达式.利用Lambda表达式,可以方便的定义和创建匿名函数.对于C++这门语言来说来说,“Lambda表达式”或“匿名函数”这些概念听起来好像很深奥,但很多 ...
- js中a + 1 < a等于true,(a ==1 && a== 2 && a==3) 等于 true如何实现
先说a + 1 < a const a = { i: 1, valueOf: () => { if (a.i === 1) { return a.i++; } return a.i+2; ...
- Linux终端图形库编程
/* *drawWin.c */ #include<stdio.h> #include<stdlib.h> #include<string.h> #include& ...
- C语言-malloc
malloc函数 编辑 锁定 同义词 malloc一般指malloc函数 malloc函数是一种分配长度为num_bytes字节的内存块的函数,可以向系统申请分配指定size个字节的内存空间.ma ...