序
很多博友要求我修改標題,我也感覺這幾篇文章確實跟大型網站和架構關系不大,所以決定修改標題。
上文聊到伸展樹,這篇講ISAM樹。
ISAM樹是1964年IBM提出的。
索引順序存取方法
(ISAM, Indexed Sequential Access Method)最初是
IBM
公司發展起來的一個
文件系統
,可以連續地(按照他們進入的順序)或者任意地(根據索引)記錄任何訪問。
如果對ISAM代碼感興趣,可以參考
mysql-3.23.35源碼,里面的代碼很有參考價值。——代碼部分我就不講解了,以后如果有時間就專門針對isam做個系列文章。
ISAM結構
♦ 相當於多叉平衡樹
♦ 樹矮(能減少硬盤I/O次數)
♦ 節點記錄多(一次性讀取更多數據)
ISAM搜索
ISAM搜索效率
ISAM索引插入數據
ISAM應用
Foxpro/dBase
MS Access
MySQL 3.23前的唯一引擎(ISAM Engine)——后來被MyISAM取代(並不是ISAM樹)
Berkeley DB
優點:簡單、易實現
問題:溢出頁不平衡,所以需要rebuild index?
總結
這次我沒有講解具體的代碼層部分,我發現ISAM部分的材料非常少。所以我就下載開源代碼看看,大家如果想更深入的了解,我建議大家可以把
mysql-3.23.35源碼下載下來好好研究,早期版本代碼量還是比較少的。
再奉上一個參考資料
C - ISAM 手冊
推薦
