欢迎投稿

今日深度:

Oracle学习笔记之视图及索引的使用,

Oracle学习笔记之视图及索引的使用,


目录
  • 一、视图的使用
    • 1.概念
    • 2.视图分类
    • 3.视图语法
    • 4.视图实例
  •  二、索引
    • 1.索引概念
    • 2.索引分类
      • 2.1、按物理存储方式分类
      • 2.2、按逻辑功能分类
    • 3.索引原则
      • 4.索引语法

      一、视图的使用

      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],……)

      创建索引:

      create index ix_emp_ename on emp(ename);

      删除索引:

      drop index ix_emp_ename;

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

      您可能感兴趣的文章:
      • Oracle数据库scott用户创建view视图权限的操作方法
      • Oracle创建带有参数的视图代码介绍
      • Oracle Scott创建视图权限不足解决办法
      • Oracle动态视图v$active_session_history实战示例

      www.htsjk.Com true http://www.htsjk.com/oracle/45411.html NewsArticle Oracle学习笔记之视图及索引的使用, 目录 一、视图的使用 1.概念 2.视图分类 3.视图语法 4.视图实例 二、索引 1.索引概念 2.索引分类 2.1、按物理存储方式分类 2.2、按逻辑功能分类 3.索...
      评论暂时关闭