索引類型?
索引就是一種將數據庫中的記錄按照特殊形式存儲的數據結構。
通過索引,能夠顯著地提高數據查詢的效率,從而提升服務器的性能。
專業一點來說呢,索引是一個排好序的列表,在這個列表中存儲著索引的值和包含這個值的數據所在行的物理地址。
在數據庫十分龐大的時候,索引可以大大加快查詢的速度,這是因為使用索引后可以不用掃描全表來定位某行的數據,而是先通過索引表找到該行數據對應的物理地址然后訪問相應的數據。
說起索引,其實并不是 MySQL 數據庫特有的機制,在關系型數據庫中都會有類似不同的實現。
這里我們也只是討論 MySQL 數據庫中的索引實現。
事實上,說是 MySQL 的索引其實并不準確。
因為在 MySQL 中,索引是在存儲引擎層而不是服務器層實現的。
這意味著我們所討論的索引準確來說是 InnoDB 引擎或 MyISAM 引擎或其它存儲引擎所實現的。
所以索引即便是在 MySQL 中也沒有統一的標準,不同存儲引擎的所實現的索引工作方式也并不一樣。
不是所有的存儲引擎都支持相同類型的索引,即便是多個引擎支持同一種類型的索引,其底層的實現也可能不同。