本篇内容主要讲解“Oracle之视图及索引如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle之视图及索引如何使用”吧!
视图概念: 视图是基于一个表或多个表或视图的逻辑表(虚表),本身不包含数据,通过它可以对表里面的数据进行查询。
基表:视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中。那些用于产生视图的表叫做该视图的基表。
视图优点:
简化性
安全性
视图分为简单视图和复杂视图。两者区别如下:
简单视图只从单表获取数据,复杂视图从多表获取数据。
简单视图不包含函数和数据组,复杂视图包含。
简单视图可以实现DML操作,复杂视图不可以。
创建视图的语法:
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name [(alias[,alias]...)]
AS subquery [WITH CHECK OPTION] [WITH READ ONLY]
参数解析:
OR REPLACE:如果视图存在,新定义将替换视图。
FORCE:基本不存在也将创建视图,NOFORCE相反。
ALIAS:为视图产生的列定义别名,如不定义将采用基表中列名。
SUBQUERY:一条查询语句。
WITH CHECK OPTION:插入或者修改数据必须满足视图查询(SUBQUERY)WHERE子句的条件。
WITH READ ONLY:不能对视图进行删改(DELETE/UPDATE)操作。
create or replace view emp_view as select * from emp where empno<1003;
在关系数据库中,索引是一种与表有关的数据库对象,它可以使对应于表的SQL查询语句执行得更快。
索引的作用类似于图书的目录,可以根据目录中的页码快速找到所需的内容。
对于数据库来说,索引是一个必选项,对于现在的各种大型数据库来说,索引可以大大提高数据库的性能,以至于它变成了数据库不可缺少的一部分。
B*树索引:B*树索引的存储结构类似书的索引结构,有分支和叶两种类型的存储数据块。分支块相当于书的大目录,叶块相当于索引到具体的书页。
位图索引:位图索引的存储主要用来节省空间,减少Oracle对数据块的访问,它采用位图偏移方式来与表的行ID对应,采购位图索引一般是重复值太多的表字段。
唯一索引:唯一索引意味着不会有两行记录相同的索引键值。
非唯一索引:非唯一索引即不对索引列的值进行唯一性限制。
在正确使用索引的前提下,索引可以提高检索相应表的速度。
下列情况可以创建索引
字段取值分布范围很广
字段中包含大量空值
字段经常出现在where子句或连接条件中
表经常被访问、数据量很大,且通常每次访问的数据量小于记录总数的2%-4%。
下列情况不适合创建索引:
表很小
字段不经常出现在where子句中
每次访问的数据量大于记录总数的2%-4%
表经常更新
被索引的字段作为表达式的一部分被引用
索引创建的语法:
create [unique|bitmap] index 索引名称
on 表名(列名1[desc|asc],……)
创建索引:
create index ix_emp_ename on emp(ename);
删除索引:
drop index ix_emp_ename;
到此,相信大家对“Oracle之视图及索引如何使用”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。