MySQL5 索引采用的是 B 樹算法。B 樹(B-樹、Balanced Tree)是一種多叉樹,它的每個節(jié)點有多個子節(jié)點(通常是大于等于 2 個子節(jié)點),并且為了保證樹的平衡,它的所有葉子節(jié)點均處于同一層級。B 樹通常用于數(shù)據(jù)庫和文件系統(tǒng)中,用于快速定位數(shù)據(jù)。
B 樹的構(gòu)造非常巧妙,它通過將數(shù)據(jù)均勻分布在磁盤塊中,進(jìn)而減少磁盤訪問次數(shù),從而提高訪問效率。B 樹的每個節(jié)點都包含了一個索引鍵和一個指向其子節(jié)點的指針,通過不斷按照索引鍵查找子節(jié)點,最終定位到目標(biāo)數(shù)據(jù)所在的葉子節(jié)點,從而實現(xiàn)了快速查詢。
// 以下是創(chuàng)建索引的 SQL 示例 CREATE INDEX index_name ON table_name(column_name);
需要注意的是,雖然 B 樹比較適合查詢范圍限定在一定數(shù)量的記錄上,但是對于全表掃描的效率并不高。此時,可以使用其他類型的索引,比如全文索引(MySQL5 支持全文索引)來提高查詢效率。