mysql 索引介紹

1.介紹【多讀兩遍有好處】

引用:http://blog.codinglabs.org/articles/theory-of-mysql-index.html

MySQL官方對索引的定義爲:索引(Index)是幫助MySQL高效獲取數據的數據結構。提取句子主幹,就可以得到索引的本質:索引是數據結構。

 

我們知道,數據庫查詢是數據庫的最主要功能之一。我們都希望查詢數據的速度能儘可能的快,因此數據庫系統的設計者會從查詢算法的角度進行優化。最基本的查詢算法當然是順序查找(linear search),這種複雜度爲O(n)的算法在數據量很大時顯然是糟糕的,好在計算機科學的發展提供了很多更優秀的查找算法,例如二分查找(binary search),二叉樹查找(binary tree search)等。如果稍微分析一下會發現,每種查找算法都只能應用於特定的數據結構之上,例如二分查找要求被檢索數據有序,而二叉樹查找只能應用於二叉查找樹上,但是數據本身的組織結構不可能完全滿足各種數據結構(例如,理論上不可能同時將兩列都按順序進行組織),所以,在數據之外,數據庫系統還維護着滿足特定查找算法的數據結構,這些數據結構以某種方式引用(指向)數據,這樣就可以在這些數據結構上實現高級查找算法。這種數據結構,就是索引。

2.分類

後續整理

 

 

MySQL非聚簇索引&&二級索引&&輔助索引

mysql中每個表都有一個聚簇索引(clustered index ),除此之外的表上的每個非聚簇索引都是二級索引,又叫輔助索引(secondary indexes)。

以InnoDB來說,每個InnoDB表具有一個特殊的索引稱爲聚集索引。如果您的表上定義有主鍵,該主鍵索引是聚集索引。如果你不定義爲您的表的主鍵時,MySQL取第一個唯一索引(unique)而且只含非空列(NOT NULL)作爲主鍵,InnoDB使用它作爲聚集索引。如果沒有這樣的列,InnoDB就自己產生一個這樣的ID值,它有六個字節,而且是隱藏的,使其作爲聚簇索引。

 

3.應用場景

 

4.問題彙總

 

5.參考

 

6.擴展

https://www.cnblogs.com/wajika/p/6682460.html   //MySQL 聚簇索引&&二級索引&&輔助索引
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章