012.Oracle-索引

2024-09-07 10:36
文章标签 oracle 索引 012

本文主要是介绍012.Oracle-索引,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

无奋斗不青春

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈
入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈
虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈
PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈
Oracle数据库教程:👉👉 Oracle数据库文章合集 👈👈
优 质 资 源 下 载 :👉👉 资源下载合集 👈👈
优 质 教 程 推 荐:👉👉 Python爬虫从入门到入狱系列 合集👈👈

分隔线
在这里插入图片描述

索引

        • 索引
        • 管理索引
          • 创建索引

索引
  • 索引是用于加速数据存储的数据对象。
  • 合理的使用索引可以大大降低i/o次数,从而提高数据访问性能。
  • 索引由很多种:
    1. 单列索引
    2. 符合索引
  • 为什么添加索引后,会加快查询速度呢?
    • 索引类似目录、图书馆的卡片

管理索引
创建索引
  • 单列索引
    • 单列索引是基于单个列所建立的索引
    • create index 索引名 on 表名(列名)
      create index emp_idxl on emp(ename);
      
  • 复核索引
    • 复合索引是基于两列或是多列的索引。在同一张表上可以有多个索引,但是要求列的组合必须不同
    • create index 索引名 on 表名(列名1,列名2)
      create index emp_idxl on emp(ename,job);create index emp_idxl on emp(job,ename);
      
    • 尽量把能筛选出更多内容的条件放在后面,因为oracle筛选是从后往前
  • 建索引原则
    1. 在大表上建立索引才有意义
    2. 在where子句或是链接条件上经常引用的列上建索引
    3. 索引的层次不要超过4层(多级索引)
  • 索引的缺点
    1. 建立索引,系统要占用大约为表的1.2倍的硬盘和内存空间来保存索引
    2. 更新数据的时候,系统必须要有额外的时间来同时对索引进行更新,以维持数据和索引的一致性
    • 实践表明:不恰当的索引不但于事无补,反而会降低系统性能。因为大量的索引在进行插入、修改和删除操作时,比没有索引花费更多的系统时间
  • 比如在如下字段建立索引应该是不恰当的:
    1. 很少或从不引用的字段
    2. 逻辑性的字段(如:男或女、是或否等)
    3. 综上所述,提高查询效率是以消耗一定的系统资源为代价的,所以索引不能盲目的建立。这是考研一个dba是否优秀的重要指标
  • 其他索引
    • 按照数据存储方式:B*树索引、反向索引、位图索引
    • 按照索引列的个数:单列索引、复合索引
    • 按照索引列值的唯一性:唯一索引、非唯一索引
    • 还有:函数索引、全局索引、分区索引…
  • 在不同的情况,我们会在不同的列上建立索引。甚至建立不同种类的索引
  • 如:B*树索引建立在重复值很少的列上,位图索引建立在重复值很多、不同值相对固定的列上
  • 显示索引信息
  • 显示表的所有索引
    • 在同一张表上可以有多个索引,通过查询数据字典视图dba_indexs和user_indexs可以显示索引信息。
      • dba_indexs用于显示数据库所有的索引信息
      • user_indexs用于显示当前用户的索引信息
        select index_name,index_type from user_indexs where table_name='表名'
        
  • 显示索引列
    • 通过查询数据字段视图user_ind_columns可以显示索引对应的列的信息
      select table_name,column_name from user_ind_columns where index_name='索引名'
      
  • 通过pl/sql developer工具查看索引信息
    • 在这里插入图片描述

这篇关于012.Oracle-索引的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1144818

相关文章

MySQL索引的优化之LIKE模糊查询功能实现

《MySQL索引的优化之LIKE模糊查询功能实现》:本文主要介绍MySQL索引的优化之LIKE模糊查询功能实现,本文通过示例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一、前缀匹配优化二、后缀匹配优化三、中间匹配优化四、覆盖索引优化五、减少查询范围六、避免通配符开头七、使用外部搜索引擎八、分

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.

查看Oracle数据库中UNDO表空间的使用情况(最新推荐)

《查看Oracle数据库中UNDO表空间的使用情况(最新推荐)》Oracle数据库中查看UNDO表空间使用情况的4种方法:DBA_TABLESPACES和DBA_DATA_FILES提供基本信息,V$... 目录1. 通过 DBjavascriptA_TABLESPACES 和 DBA_DATA_FILES

Mysql中InnoDB与MyISAM索引差异详解(最新整理)

《Mysql中InnoDB与MyISAM索引差异详解(最新整理)》InnoDB和MyISAM在索引实现和特性上有差异,包括聚集索引、非聚集索引、事务支持、并发控制、覆盖索引、主键约束、外键支持和物理存... 目录1. 索引类型与数据存储方式InnoDBMyISAM2. 事务与并发控制InnoDBMyISAM

StarRocks索引详解(最新整理)

《StarRocks索引详解(最新整理)》StarRocks支持多种索引类型,包括主键索引、前缀索引、Bitmap索引和Bloomfilter索引,这些索引类型适用于不同场景,如唯一性约束、减少索引空... 目录1. 主键索引(Primary Key Index)2. 前缀索引(Prefix Index /

Oracle登录时忘记用户名或密码该如何解决

《Oracle登录时忘记用户名或密码该如何解决》:本文主要介绍如何在Oracle12c中忘记用户名和密码时找回或重置用户账户信息,文中通过代码介绍的非常详细,对同样遇到这个问题的同学具有一定的参... 目录一、忘记账户:二、忘记密码:三、详细情况情况 1:1.1. 登录到数据库1.2. 查看当前用户信息1.

MySQL进阶之路索引失效的11种情况详析

《MySQL进阶之路索引失效的11种情况详析》:本文主要介绍MySQL查询优化中的11种常见情况,包括索引的使用和优化策略,通过这些策略,开发者可以显著提升查询性能,需要的朋友可以参考下... 目录前言图示1. 使用不等式操作符(!=, <, >)2. 使用 OR 连接多个条件3. 对索引字段进行计算操作4

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

PLsql Oracle 下载安装图文过程详解

《PLsqlOracle下载安装图文过程详解》PL/SQLDeveloper是一款用于开发Oracle数据库的集成开发环境,可以通过官网下载安装配置,并通过配置tnsnames.ora文件及环境变... 目录一、PL/SQL Developer 简介二、PL/SQL Developer 安装及配置详解1.下