Oracle之视图及索引如何使用

蜗牛 互联网技术资讯 2022-07-19 139 0

本篇内容主要讲解“Oracle之视图及索引如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle之视图及索引如何使用”吧!

    一、视图的使用

    1.概念

    视图概念: 视图是基于一个表或多个表或视图的逻辑表(虚表),本身不包含数据,通过它可以对表里面的数据进行查询。

    基表:视图是从一个或多个实际表中获得的,这些表的数据存放在数据库中。那些用于产生视图的表叫做该视图的基表。

    视图优点:

    • 简化性

    • 安全性

    2.视图分类

    视图分为简单视图和复杂视图。两者区别如下:

    • 简单视图只从单表获取数据,复杂视图从多表获取数据。

    • 简单视图不包含函数和数据组,复杂视图包含。

    • 简单视图可以实现DML操作,复杂视图不可以。

    3.视图语法

    创建视图的语法:

    • 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)操作。

    4.视图实例

    create or replace view emp_view
    as select * from emp where empno<1003;

     二、索引

    1.索引概念

    • 在关系数据库中,索引是一种与表有关的数据库对象,它可以使对应于表的SQL查询语句执行得更快。

    • 索引的作用类似于图书的目录,可以根据目录中的页码快速找到所需的内容。

    • 对于数据库来说,索引是一个必选项,对于现在的各种大型数据库来说,索引可以大大提高数据库的性能,以至于它变成了数据库不可缺少的一部分。

    2.索引分类

    2.1、按物理存储方式分类

    B*树索引:B*树索引的存储结构类似书的索引结构,有分支和叶两种类型的存储数据块。分支块相当于书的大目录,叶块相当于索引到具体的书页。

    位图索引:位图索引的存储主要用来节省空间,减少Oracle对数据块的访问,它采用位图偏移方式来与表的行ID对应,采购位图索引一般是重复值太多的表字段。

    2.2、按逻辑功能分类

    唯一索引:唯一索引意味着不会有两行记录相同的索引键值。

    非唯一索引:非唯一索引即不对索引列的值进行唯一性限制。

    3.索引原则

    在正确使用索引的前提下,索引可以提高检索相应表的速度。

    • 下列情况可以创建索引

    • 字段取值分布范围很广

    • 字段中包含大量空值

    • 字段经常出现在where子句或连接条件中

    • 表经常被访问、数据量很大,且通常每次访问的数据量小于记录总数的2%-4%。

    下列情况不适合创建索引:

    • 表很小

    • 字段不经常出现在where子句中

    • 每次访问的数据量大于记录总数的2%-4%

    • 表经常更新

    • 被索引的字段作为表达式的一部分被引用

    4.索引语法

    索引创建的语法:

    •  create [unique|bitmap] index 索引名称

    • on 表名(列名1[desc|asc],&hellip;&hellip;)

    创建索引:

    create index ix_emp_ename on emp(ename);

    删除索引:

    drop index ix_emp_ename;

    到此,相信大家对“Oracle之视图及索引如何使用”有了更深的了解,不妨来实际操作一番吧!这里是蜗牛博客网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    评论

    有免费节点资源,我们会通知你!加入纸飞机订阅群

    ×
    天气预报查看日历分享网页手机扫码留言评论Telegram