MySQL索引是MySQL數據庫中一種非常重要的數據結構,用來提高數據庫的性能和查詢效率。MySQL索引是以B+樹為主要數據結構實現的。
B+樹是一種多路平衡查找樹,一棵m階B+樹有如下特點:
1. 每個結點最多有m個子結點; 2. 除了根結點和葉子結點外,其它每個結點最少有「m/2」個子結點; 3. 所有葉子結點都在同一層,且不存儲數據,只存儲指向數據的指針; 4. 非葉子結點只存儲索引信息,不存儲數據; 5. 葉子結點之間按照雙向鏈表連接。
當需要查詢一個表的某個字段時,如果這個表沒有索引,MySQL將需要遍歷整個表。而當這個表添加了索引時,MySQL查詢時只需要遍歷這棵索引樹,該操作比遍歷整個表更快。
CREATE INDEX index_name ON table_name (column_name);
上述語句通過「CREATE INDEX」語法和「ON」關鍵字來創建一個索引,「index_name」表示索引的名稱,「table_name」表示要添加索引的表名,「column_name」表示要添加索引的字段名。
當表中的數據發生變化時,索引樹需要進行更新,因此建立太多的索引可能會影響到數據庫的寫操作。在為表添加索引時,一定要注意權衡查詢效率和寫效率,避免過度創建索引。
上一篇mysql 索引 字符串
下一篇用css實現級聯菜單