经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Oracle » 查看文章
Oracle学习笔记之视图及索引的使用
来源:jb51  时间:2022/7/19 13:03:11  对本文有异议

一、视图的使用

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.视图实例

  1. create or replace view emp_view
  2. 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],……)

创建索引:

  1. create index ix_emp_ename on emp(ename);

删除索引:

  1. drop index ix_emp_ename;

到此这篇关于Oracle学习笔记之视图及索引的使用的文章就介绍到这了,更多相关Oracle 视图内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号