返回顶部
首页 > 资讯 > 数据库 >Oracle学习笔记之视图及索引的使用
  • 878
分享到

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

Oracle视图使用Oracle索引使用 2022-07-19 12:07:57 878人浏览 泡泡鱼
摘要

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

一、视图的使用

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 视图内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

您可能感兴趣的文档:

--结束END--

本文标题: Oracle学习笔记之视图及索引的使用

本文链接: https://lsjlt.com/news/33394.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Oracle学习笔记之视图及索引的使用
    目录一、视图的使用1.概念2.视图分类3.视图语法4.视图实例 二、索引1.索引概念2.索引分类2.1、按物理存储方式分类2.2、按逻辑功能分类3.索引原则4.索引语法一、视图的使用 1.概念 视图概念:&nb...
    99+
    2022-07-19
    Oracle视图使用 Oracle索引使用
  • Oracle学习笔记(一)——B-Tree索引
    https://blog.csdn.net/biww620/article/details/73003880     目录是索引的一个最好的例子,每条目录包含对应章节的标题和页码,类比索引的每条索引项包含了数据记录的某些键值组合并...
    99+
    2021-03-01
    Oracle学习笔记(一)——B-Tree索引
  • 【MongoDB学习笔记20】MongoDB的索引
    MongoDB的索引和关系型数据库的索引概念和功能是相同的:(1)不使用索引的搜索可以称为全表扫面,也就是说,服务器必须找完整个表才能查询整个结果;(2)建立索引后搜索,查询在索引中搜索,在索引的条目中找到...
    99+
    2024-04-02
  • MySql学习笔记(七):explain-索引的使用情况
    主要内容:explain的possible_key、key、key_len、ref、rows入门。1、possible_key表示在查询过程中可能用到的索引。查询涉及到的字段上如果有索引,则该索引会出现在p...
    99+
    2024-04-02
  • 【MongoDB学习笔记27】MongoDB的TTL索引
    TTL索引(time-to-live index)允许为每一个文档设置一个超时时间,文档超过这个时间就会被删除。在ensureIndex中指定expireAfterSecs选项就可以创建一个TTL索引:&g...
    99+
    2024-04-02
  • python3 学习笔记之引用传递和引用
    python中所谓的pass-by-reference(引用传递)和pass-by-value(值传递)。是由于名字是不是内存符号造成的。如果变量不包括名字所关联的目标对象,那么就是值传递。因为此时传递是通过复制名字关联来实现的。类似于指...
    99+
    2023-01-31
    学习笔记
  • mysql学习笔记之索引类型B-TREE介绍
    B-tree索引是MySQL数据库中使用最为频繁的索引类型,特别是在innodb中经常使用;在其他数据库中b-tree索引也同样是作为最主要的索引类型的,这主要是因为b-tree索引的存储结构在数据库的数据检索中有着非常优异的表现。 这种索...
    99+
    2022-02-03
    mysql学习笔记之索引类型B-TREE介绍
  • Oracle学习(五) --- 视图、序列、同义词、索引
    1、视图 1.1、什么是视图 视图就是一个虚拟表,实体表的映射。 什么时候使用视图 在开发中,有一些表结构是不希望过多的人去接触,就把实体表映射为一个视图。(表结构简化) 在项目过程中,程序员主要关注编码的性能、业务分析这方面。对...
    99+
    2019-06-02
    Oracle学习(五) --- 视图 序列 同义词 索引
  • 【MongoDB学习笔记21】MongoDB的复合索引
    索引的值是按照一定顺序排列的,因此使用索引键对文档进行搜索排序比较快;但是只有首先使用索引进行排序时,索引才有用;例如下面的排序里,“username”上的索引就没有起作用:> db.use...
    99+
    2024-04-02
  • 【MongoDB学习笔记22】MongoDB的索引管理
    使用ensureIndex函数创建集合的索引。对集合而言,每个索引只需要创建一次,重复创建没有任何作用;> show collections    s...
    99+
    2024-04-02
  • 【MongoDB学习笔记25】MongoDB的索引类型
    创建索引可以指定一些选项,使用不同的选项建立的索引会有不同的行为。 一、唯一索引唯一索引可以确保每一个文档的指定键都有唯一的值。例如,想确定文档中的username键不重复,创建一个唯一索引:&g...
    99+
    2024-04-02
  • PythonNumpy学习之索引及切片的使用方法
    目录1. 索引及切片2. 高级索引1. 索引及切片 数组中的元素可以通过索引以及切片的手段进行访问或者修改,和列表的切片操作一样。 下面直接使用代码进行实现,具体操作方式以及意义以代...
    99+
    2024-04-02
  • Go学习笔记之Zap日志的使用
    目录Log包基本用法flag属性prefix属性out属性创建新的Logger自定义Go Logger设置使用运行Zap安装配置Zap LoggerLoggerSugared Log...
    99+
    2024-04-02
  • 学习笔记:如何使用 PHP 索引来编写高效的程序?
    在 PHP 中,索引是一个非常重要的概念。它可以帮助我们快速地访问和操作数组中的数据。在本篇文章中,我们将介绍如何使用 PHP 索引来编写高效的程序。 一、什么是索引? 索引是一个指向数组中特定元素的指针。它可以是数字或字符串类型。在 P...
    99+
    2023-09-23
    索引 学习笔记 编程算法
  • 【MongoDB学习笔记23】MongoDB的索引对象和数组
    MongoDB允许深入文档内部,对嵌套字段和数组建立索引;嵌套对象和数组字段可以和复合索引中的顶级字段一起使用,多数情况下与“正常”索引字段的行为也是一致的。 一、索引嵌套文档例如,集合中的文档如...
    99+
    2024-04-02
  • mysql高级学习之索引的优劣势及规则使用
    一、索引的优劣势 优点:可以快速的检索  、可以加快分组和排序 缺点: 占用储存空间、降低数据表的修改操作 二、索引的分类 主键索引 ...
    99+
    2024-04-02
  • ASP 大数据索引学习笔记,带你掌握全面的索引知识!
    随着大数据时代的到来,数据量不断增加,如何高效地查询数据成为了一项重要的技能。索引作为一种常用的数据结构,可以帮助我们在海量数据中快速定位所需信息。本篇文章将带你深入学习 ASP 大数据索引,掌握全面的索引知识。 一、什么是索引? 索引是...
    99+
    2023-10-22
    大数据 索引 学习笔记
  • vue3 学习笔记之axios的使用变化总结
    目录一、axio 得基本使用 二、如何解决跨域问题? 三、封装 四、全局引用 axios 使用 axios 之前,需要先安装好。 yarn add axios npm ins...
    99+
    2024-04-02
  • Go语言索引算法:Unix系统下的学习笔记
    索引算法是计算机科学中非常重要的一部分,它用于在大量数据中搜索特定的元素。在Unix系统中,我们通常使用一种名为索引文件的数据结构来加速文件系统中的文件搜索。本文将介绍使用Go语言实现Unix系统中索引算法的学习笔记。 一、Unix系统下...
    99+
    2023-07-20
    索引 unix 学习笔记
  • [学习笔记] RabbitMQ的安装使用
    安装 使用命令行安装,会自动管理依赖(推荐): choco install rabbitmq 安装包安装: 以管理员身份安装64位的 Erlang。 下载并安装 RabbitMQ 服务。下载地址。 RabbitMQ 会作为 Wi...
    99+
    2019-01-10
    [学习笔记] RabbitMQ的安装使用
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作