• 索引解读


    一、什么是索引?

    二、索引的数据结构?

    三、索引的种类?

    四、索引的优缺点?

    1、什么是索引?

      到底什么索引?大家说数据库时,总是绕不开索引这个概念,大家也都一直在使用索引,那么索引到底是什么?可以跟操作系统来联系一起讲深刻讲一讲索引。

      索引就是一种特殊的查询表,类似一本书的目录。在操作系统中,文件的存放结构是树状存放,其中叶子节点为文件,非叶子节点为路径。通常说的绝对路径就是从根节点访问到该文件的路线。创建文件时由两部分组成,系统会给创建的文件分配存储空间,此外,系统还会给文件分配一个i节点,里面存放的是文件名字和文件地址,所以在创建文件时,实际上为该文件+i节点。i节点就是该文件的索引。这就是为什么在创建文件时,同一个文件夹内的名字必须要唯一,因为名字就是主键。

      如下图所示,树状结构存放的是索引i节点,索引对应的是文件,这就为什么使用索引会增加时间开销和空间开销。因为在增加文件时,除保存文件外,还要对索引树进行维护。

       引用一下别人的说明,假如我们执行一个SQL语句:select * from table where id = 1256;首先根据索引定位到1256这个值所在的叶结点,然后再通过叶结点取到id等于1256的数据行。 这里不讲解平衡树的运行细节, 但是从上图能看出,树一共有三层, 从根节点至叶节点只需要经过三次查找就能得到结果。如下图

    二、索引的数据结构

      索引一般使用平衡树数据结构,也就是b tree或者 b+ tree,重要的事情说三遍:“平衡树,平衡树,平衡树”。此外, 有的数据库也使用哈希桶作用索引的数据结构。

    三、索引的种类

    (1)普通索引:这是最基本的索引,它没有任何限制。

    (2)唯一索引:它与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。

    (3)主键索引:它是一种特殊的唯一索引,不允许有空值。

    (4)组合索引:可以有多列。

    (5)全文索引

    四、索引的优缺点

      优点:

      1、增加数据的检索速度

      2、不需要遍历全部数据

      缺点:

      1、减慢了数据录入的速度

      2、增加了存储开销

  • 相关阅读:
    五大P2P平台费用一览
    警惕P2B模式
    仿照jquery封装一个自己的js库
    怎样给div增加resize事件
    美化浏览器滚动条效果
    手机端触屏手指滑动方向及拖动层
    JS中原型链中的prototype与_proto_的个人理解与详细总结(**************************************************************)
    JavaScript this用法总结(**************************************)
    js中call、apply、bind那些事2
    深刻理解JavaScript---闭包
  • 原文地址:https://www.cnblogs.com/wobushangwangl/p/11412763.html
Copyright © 2020-2023  润新知