• 数据库系统实现 第4章 索引结构


     几种索引:

    1)排序文件上的简单索引

    2)非排序文件上的辅助索引

    3)B树

    4)散列表

    主索引

    1)稠密索引:每个主键都有

    2)稀疏索引:每个数据块存放一个键

    3)多级索引:索引上的索引

    4)重复查找键的索引: 比较简单的解决方法是在稠密索引上的每种键值都建立一个索引

    数据修改期间的索引维护

    1)创建或删除一个空溢出块:对两种索引均无影响,因为稠密索引针对记录,稀疏索引针对基本存储快

    2)创建或删除文件的块:对稠密索引无影响,对稀疏索引有影响

    3)插入或删除记录:对稠密索引有相同的影响。当不产生额外块的时候对稀疏索引无影响

    4)移动一个记录,对稠密索引有影响,当记录的移动改变某个块的第一条的时候对稀疏索引有影响。

    辅助索引

    主索引决定了被索引记录的位置,而当查询条件不是对主键的判断的时候,可以利用辅助索引来加速。

    CREATE INDEX DBindex ON MovieStar(birthdate);

    此时

    SELECT name,address

    FROM MovieStar(birthdate);

    WHERE birthdate = DATE'1950-01-01';

    这条查询就会变快

    辅助索引的设计

    辅助索引是稠索引,通常具有重复值,为了便于快速找到给定键值的索引,可是对其构建二级索引。

    B树

    每个B树的索引都有一个参数n,决定了每个存储块对应n个键值与n+1个指针。

    B树中有几个重要的规则

    1)根节点中至少有两个指针被使用,所有指针指向B树的下一层

    2)叶节点中最后一个指针指向它右边的下一个也 

  • 相关阅读:
    Android 编译笔记20191205
    react 编写 基于ant.design 页面的参考笔记
    Codeigniter项目使用phpDocumentor生成api文档
    php curl Problem with the SSL CA cert (path access rights)
    我的浏览器标签同步方案:坚果云+Floccus
    vue Inline JavaScript is not enabled. Is it set in your options?
    学习应该保留的十件事情
    ngx-moment汉化
    Quill Editor使用公式
    mac os安装多个版本的chrome
  • 原文地址:https://www.cnblogs.com/icodefive/p/7482260.html
Copyright © 2020-2023  润新知