mysql索引機制

2021-10-10 22:40:40 字數 1124 閱讀 1910

資料庫檔案系統及檔案系統都採用b+樹或者b-樹作為索引結構

1,d為b-tree的度,d>=2

2,h為b-tree的高;

3,每個非葉子節點都由n-1個key和n個指標組成,其中d <= n <=2d

4,每個葉子節點至少包含乙個key和兩個指標,最多包含2d-1個key和2d個指標

5,所有葉子節點都在同一層,深度等於樹高h

6,key和指標相互間隔,節點兩端是指標

7,乙個節點中的key從左至右非遞減排列

8,如果某個指標在節點node的左右,相鄰key分別是指向節點的上下界限

1,非葉子節點只儲存鍵值資訊

2,所有葉子節點之間都有乙個指標,雙向鍊錶

3,資料記錄都放在葉子節點中,不可能在非葉子節點命中

①效能更快

②不支援事務

③若有大量的select操作,使用myisam更好

myisam索引分為:主鍵索引和輔助索引

主鍵索引:葉子節點的data域儲存的是資料記錄的位址,key不可以重複!!!

輔助索引:葉子節點的data域儲存的是資料記錄的位址,key可以重複

①執行大量insert和update是更快

②支援事務、

innodb索引

分為:主鍵索引和輔助索引,其中主鍵索引的葉子節點的data域儲存的是完整的資料記錄,這個索引的key是資料表中的主鍵。

輔助索引的葉子節點的data域儲存的是主鍵。例如:唯一索引、普通索引、字首索引

輔助索引過程:先檢索輔助索引獲得主鍵,然後用主鍵到主鍵索引中檢索獲得的記錄

如何選擇資料庫引擎?

同乙個資料庫可以使用多種儲存引擎的表,如果對事務要求比較高,使用innodb;如果對查詢要求比較高使用myisam;如果是用於查詢的臨時表,可以選擇memory

主鍵索引和輔助索引的區別

mysql索引失效機制 MySQL 索引失效原理

一 聯合索引的b 樹 索引失效我們針對的是聯合索引,我們之前有講到過,在沒有遵守最佳左法則或者使用like或者使用百分號的情況下索引會失效。但是到底為什麼索引失效了並沒有解釋。索引失效和innodb引擎的b 樹儲存方式有關。我們知道單索引的b 樹是這樣的。聯合索引的b 樹也相差不多,因為聯合所有有多...

MySql索引型別及其機制

一 mysql索引型別 mysql目前主要有以下幾種索引型別 fulltext,hash,btree,rtree。mysql常見索引有 主鍵索引 唯一索引 普通索引 全文索引 組合索引 fulltext 即為全文索引,目前只有myisam引擎支援。其可以在create table alter tab...

MySQL 深入分析MySQL索引機制的實現

資料庫是乙個只要從事後端開發,就永遠離不開的技術,大部分企業選擇的資料庫都是mysql,所以需要我們對mysql有著足夠的了解。而mysql索引,我們都知道提高效能要加索引,也知道索引的結構是b tree,也都可以說出幾條加索引的原則,但再深入一點,往往就會詞窮,這可能就是知其然而不知其所以然的結果...