一、理解 B+樹 需要知道的一些硬件知識(shí)
1、市面上常見的兩種硬盤是?
- 機(jī)械硬盤:HDD,Hard Disk Drive
- 固態(tài)硬盤:SSD,Solid State Drive

image.png
2、機(jī)械硬盤:什么是盤片、盤面、讀寫磁頭?
- 一個(gè)硬盤由多個(gè)盤片組成
- 一個(gè)盤片由 2 個(gè)盤面組成
- 一個(gè)盤面有 1 個(gè)讀寫磁頭

image.png
3、什么是磁道?什么是扇區(qū)?
- 磁道:①盤面中的一圈圈灰色圓環(huán)是一條條的磁道②磁道由外到內(nèi)從 0 開始編號(hào)
- 扇區(qū):①每條磁道上的一個(gè)弧度叫做一個(gè)扇區(qū)②扇區(qū)是磁盤的最小讀寫單位③一個(gè)扇區(qū)的大小通常是 512 字節(jié)

image.png
4、早期硬盤的存儲(chǔ)容量是怎么計(jì)算的?
- 硬盤的存儲(chǔ)容量 = 磁頭數(shù) * 盤面磁道數(shù) * 磁道扇區(qū)數(shù) * 扇區(qū)字節(jié)數(shù)

image.png
5、什么是柱面?
- 相同編號(hào)的磁道形成一個(gè)圓柱,稱之為柱面
- 磁盤的柱面數(shù)與一個(gè)盤面的磁道樹是相等的

image.png
6、磁盤塊由什么組成?一般磁盤塊多大?磁盤塊是什么的最小單位?
- 磁盤塊:相鄰的 2^n 個(gè)扇區(qū)組合在一起,形成磁盤塊
- 一般一個(gè)磁盤塊是 4096 字節(jié)(4KB,由 8 個(gè)連續(xù)的 512 字節(jié)扇區(qū)組成)
- 操作系統(tǒng)對(duì)磁盤進(jìn)行管理時(shí),以磁盤塊作為最小讀寫單位
- 注意
- 磁盤塊是操作系統(tǒng)中的一個(gè)虛擬概念
- 扇區(qū)是磁盤上真實(shí)存在的物理區(qū)域

image.png
7、如何查看硬盤信息?

image.png
8、操作系統(tǒng)讀取硬盤數(shù)據(jù)的過(guò)程?(重要,多看幾遍)

image.png
9、磁盤完成 IO操作 的時(shí)間?(重要,多看幾遍)

image.png
10、機(jī)械硬盤的讀寫速度由機(jī)械硬盤的哪兩個(gè)參數(shù)決定?
- 轉(zhuǎn)速(比如 7200r/min)
- 盤面的存儲(chǔ)密度
二、理解 B+樹 需要知道的一些數(shù)據(jù)庫(kù)
1、IO 操作的英文全稱是什么?
- Input Output Operation
- 輸入輸出操作
2、數(shù)據(jù)庫(kù)本質(zhì)上是什么?訪問(wèn)數(shù)據(jù)就本質(zhì)在訪問(wèn)什么?
- 數(shù)據(jù)庫(kù)的本質(zhì)是
磁盤上的文件 - 訪問(wèn)數(shù)據(jù)庫(kù),就是在訪問(wèn)磁盤上的文件
3、基于上面的知識(shí),如果需要優(yōu)化數(shù)據(jù)庫(kù)效率,換句話怎么描述?
- 優(yōu)化訪問(wèn)數(shù)據(jù)庫(kù)的效率 === 優(yōu)化 IO 操作的效率
4、關(guān)于 MYSQL 的發(fā)音小知識(shí)點(diǎn)?

image.png
三、B+樹
1、什么是 B+樹?
- B+樹是 B 樹的變體,常用于數(shù)據(jù)庫(kù)和操作系統(tǒng)的文件系統(tǒng)中
- MYSQL 數(shù)據(jù)庫(kù)的索引就是基于 B+ 樹實(shí)現(xiàn)的

image.png
2、MYSQL 的索引底層為何使用 B+樹?

image.png

image.png
- 因?yàn)?B 樹是 key-value 一起存的
3、B*樹(了解,知道有這么個(gè)東西即可)

image.png