• Oracle学习笔记二十七:索引的使用


    一、索引概念

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

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

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

    二、索引分类

    2.1、按物理存储方式分类

      • B*树索引

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

      • 位图索引

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

    2.2、按逻辑功能分类

      • 唯一索引

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

      • 非唯一索引

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

    三、索引原则

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

    • 下列情况可以创建索引

      • 字段取值分布范围很广

      • 字段中包含大量空值

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

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

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

      • 表很小

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

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

      • 表经常更新

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

    四、索引语法

    • 索引创建的语法

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

        on 表名(列名1[desc|asc],……)

    • 创建索引

    create index ix_emp_ename on emp(ename);

    • 删除索引

    drop index ix_emp_ename;
  • 相关阅读:
    Inno Setup新建项目
    Modal实现页面跳转和控制器数据传递
    Asp.net Web Api添加异常筛选器
    Inno Setup添加中文安装语言文件
    ubuntu 自动获取IP
    JavaScript 语言基础知识点总结(思维导图)
    自己整理的部分腾讯web前端开发的笔试题目及答案
    spry可折叠面板
    131变化两边,固定中间的布局
    HTML中的dl、dt和dd标记
  • 原文地址:https://www.cnblogs.com/atomy/p/16381678.html
Copyright © 2020-2023  润新知