数据库系统概念总结:第十一章 索引与散列
生活随笔
收集整理的這篇文章主要介紹了
数据库系统概念总结:第十一章 索引与散列
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
周末無事水文章,期末備考的總結(jié)資料
第十一章 索引與散列
11.1 基本概念
- 基本的索引類型
–順序索引:基于值的順序排序
–散列索引:基于將值平均分布到若干散列同中。一個值所屬的散列桶是由一個函數(shù)決定的,該函數(shù)稱為散列函數(shù) - 評價順序索引和散列的因素
–訪問類型(access type):
–訪問時間(access time)
–插入時間(insertion time)
–刪除時間(deletion time)
–空間開銷(space overhead):索引結(jié)構(gòu)所占用的額外存儲空間
11.2 順序索引
- 聚簇索引(clustering index):包含記錄的文件按照某個搜索碼指定的順序排序;它也被稱為主索引(primary index);可以被建立到任何搜索碼上
–主索引是一個有序文件,它的每個記錄包含兩個字段的定長記錄。第1個字段與數(shù)據(jù)文件的搜索碼字段(即primary key)有相同的數(shù)據(jù)類型;第2個字段是指向一個數(shù)據(jù)塊的指針(塊地址)
–對于數(shù)據(jù)文件中的每一塊,在索引文件中都對應(yīng)一個索引入口(index entry,或者索引記錄index record)
·非聚簇索引(nonclustering index):搜索碼指定的順序與文件中記錄的物理順序不同的索引;它也被稱為輔助索引(secondary index)
11.2.1 稠密索引和稀疏索引
- 索引項(index entry)或索引記錄(index record)由一個搜索碼值和指向具有該搜索碼值的一條或者多條記錄的指針構(gòu)成。指向記錄的指針包括磁盤塊的標(biāo)識和標(biāo)識磁盤塊內(nèi)記錄的偏移量
- 順序索引的分類
–稠密索引(dense index):文件中的每個搜索碼值都有一個索引項。在稠密聚集索引中,具有相同搜索碼值的其余記錄順序地存儲在第一條數(shù)據(jù)記錄之后;在稠密非聚集索引中,索引必須存儲指向所有具有相同搜索碼值的記錄的指針列表
–稀疏索引(sparse index):只為搜索碼的某些值建立索引項。只有當(dāng)關(guān)系按搜索碼順序存儲時才能使用稀疏索引(即它只能是聚集索引)
11.2.2 多級索引
- 優(yōu)點
–一級索引可能還太大而不能常駐內(nèi)存
–查找一級索引塊需要某種數(shù)據(jù)結(jié)構(gòu)和磁盤I/O
–二級索引更小,可以常駐內(nèi)存
–減少磁盤I/O次數(shù)
11.2.3 索引的更新
11.2.4 輔助索引
- 輔助索引必須是稠密索引,對每個搜索碼值都有一個索引項,而且對文件中的每個記錄都有一個指針
11.3 B+樹索引文件(本節(jié)看書效率更高)
- B+樹索引是一種多級索引
11.6 靜態(tài)散列
- 可擴(kuò)展散列表
–優(yōu)點:當(dāng)查找記錄時,只需查找一個存儲塊
–缺點:桶增長速度快,可能會導(dǎo)致內(nèi)存放不下整個桶數(shù)組,影響其他保存在主存中的數(shù)據(jù),波動較大 - 線性散列表
總結(jié)
以上是生活随笔為你收集整理的数据库系统概念总结:第十一章 索引与散列的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库系统概念总结:第八章 关系数据库设
- 下一篇: 数据库系统概念总结:第十二、十三章 查询