欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

database develop and design(二)

程序员文章站 2022-05-05 12:09:57
...

这一节lec的主要内容是:

1. 索引的结构    
2. 有序目录 
3. 主索引 vs 辅助索引  
4. 密集索引 vs 稀疏索引  
5. 多层索引

多级索引(motivation):Search Records

    1. 把同一个关系的records放在不同的block中是十分不效率的行为
         · select * from X;
         · select * from X where age = 10;
         · 明显来说,下面这个要好一点,因为给设置了条件
    2. 索引方法(indexing mechanisms)是可以用来加快进入想要的数据的速度的方法

database develop and design(二)

索引的结构

    1. 数据文件: 在硬盘上存储records的blocks的集合
    2. 索引文件: 一种可以让DBMS可以更效率的找到指定records的数据结构
        ·一个索引文件主要由 [search-key]——[pointer]这样的结构组成
    3. search key:在用来查询records的属性(attributes,一个或者多个)
    4. relationship:例如一个search key 叫K是和某个指向数据的指针是相关联的,这个就是relationship

索引的指标

    1.  访问方式:
        · 找一个定值属性
        · 找一个范围的属性
    2.  访问时间
    3.  插入时间
    4.  删除时间

有序目录(ordered indices)

  1. 有序索引:在索引中,索引项就按照search key里的value来排序了(index entries in the index are
    sorted on the search key value. )
  2. 有序索引的分类
    · 密集索引:索引的时候就好像把所有的search-key value都检索了出来
    · 稀疏索引:索引出来的search-key value就一点点
  3. 一个有序索引同样可以:

        1. 主索引:在一个连续、有序的文件中,索引的search key 一般指定了先后顺序
            · 同样也被称为聚合索引。主索引中的search key一般都是主键
            · 可以是分散索引
    
        2. 次索引:与主索引恰好相反的一个索引方式
    

    密集索引vs稀疏索引

  4. index size
    ·稀疏索引要小很多

  5. (两者)对于数据文件的要求
    · 必须是连续的文件
  6. 查询
    · 稀疏查询更小并且可能更适合存于memory中
    · 密集查询可以直截了当的告诉你这个record是否存在
  7. 更新
    · 稀疏查询在插入和删除上只需要更少的空间和维护
    database develop and design(二)
    database develop and design(二)

这一节课主要讲的就是稠密索引和稀疏索引,主索引和二级索引,看pdf太nm难理解了,然后去查了一下资料

稀疏索引and稠密索引:https://blog.csdn.net/xukaics/article/details/49204155

主索引:https://blog.csdn.net/fengdi51764/article/details/79536605

二级索引:https://blog.csdn.net/jijianshuai/article/details/79084874

关于索引:https://blog.csdn.net/liutong123987/article/details/79384395