索引是幫助MySQL高效獲取的數據的 排好序 的 數據結構算法
B Tree 結構數據結構
B+Tree 索引性能
MySQL所使用的B+Tree索引,通過了改造,葉子節點之家使用雙向指針連接。
默認一個節點大小爲16kb指針
MyISAM 存儲引擎
非彙集索引,索引文件和數據分離,葉子節點裏面data,存儲的是數據地址blog
InnoDb 存儲引擎
主鍵索引屬於彙集索引,葉子節點data裏面包含了完整的數據記錄
非主鍵索引屬於非彙集索引,爲了數據的一致性和節省存儲空間,葉子節點data裏面存儲了主鍵ID排序
Hash 索引
根據查詢key值,經過hash算法,以及hash表,直接能夠定位到數據存儲的地址,效率很是高,不受數據量影響
不支持模糊查詢,不支持範圍查詢,不支持排序索引
聯合索引結構
按照建立聯合主鍵幾個字段的順序進行排序,組合保存在B+Tree的葉子節點hash