1樓:
在mysql裡常用的索引資料結構有b+樹索引和雜湊索引兩種,我們來看下這兩種索引資料結構的區別及其不同的應用建議。
二者區別
備註:先說下, 在mysql文件裡,實際上是把b+樹索引寫成了btree ,例如像下面這樣的寫法:
create table t(
aid int unsigned not null auto_increment,
userid int unsigned not null default 0,
username varchar(20) not null default ‘’,
detail varchar(255) not null default ‘’,
2樓:愛可生雲資料庫
b+ 樹是對 b 樹的一個小升級。大部分資料庫的索引都是基於 b+ 樹儲存的。mysql 的 myisam 和 innodb 引擎的索引都是基於 b+ 樹儲存。
b+ 樹最大的幾個特點:
1. 非葉子節點只保留 key,放棄 data;
2. key 和 data一起,在葉子節點,並且儲存為一個有序連結串列(正序,反序,或者雙向);
3. b+ 樹的查詢與 b 樹不同,當某個結點的 key 與所查的 key 相等時,並不停止查詢,而是沿著這個 key 左邊的指標向下,一直查到該關鍵字所在的葉子結點為止。