《数据库系统概念》读书笔记——散列和索引

    索引是index_field(s) + pointer,提高查询效率,缺点是维护索引有额外开销,需要建立合适的索引。

    总体上可以分为顺序索引、散列索引和位图索引。

1、顺序索引,常用B+树实现

    (1)聚集索引和非聚集索引:聚集索引(主索引)只有一个,主文件按某个搜索码排序,该搜索码对应的索引是聚集索引,搜索码不一定是主键(即聚集索引的物理顺序与索引顺序相同)。

    建表时的主键必须是索引,默认是聚集索引,根据聚集索引插入数据。

    非聚集索引(辅助索引)的物理顺序与索引顺序不同。

    (2)稠密索引和稀疏索引:稠密索引是文件中的每个搜索码值都有一个索引项;稀疏索引是只为某些搜索码值建立索引项。

    只有文件是聚集索引(排好序)时才能使用稀疏索引。

    聚集索引可以是稀疏索引;非聚集索引一定是稠密索引。

    (3)多级索引:如B+树索引

    (4)倒排索引:便于查找一个关键字出现在了哪些文件中。word w : {#doc1, #doc2}


2、散列索引,不能进行范围查找

    (1)静态散列索引:就是一张散列表,每个entry包含索引项+指针,用链表等方法解决冲突。缺点是数据变多后需要rehash

    (2)动态散列索引:取散列值的前i位做索引,有指向对应桶的指针,桶有多个指向文件的指针


3、位图索引

    可以用位运算实现高效查询。例如gender的位图m=10010,f=01101表示0,3记录为男性,1,2,4为女性

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值