1. 程式人生 > >mysql 2 mysql索引原理

mysql 2 mysql索引原理

mysql索引原理

初識索引

為什麼要索引?    加速查詢   讀寫比10:1左右

什麼是索引?       索引在MySQL中也叫是一種“鍵”,是儲存引擎用於快速找到記錄的一種資料結構。

索引是應用程式設計和開發的一個重要方面。若索引太多,應用程式的效能可能會受到影響。而索引太少,對查詢效能又會產生影響,要找到一個平衡點,這對應用程式的效能至關重要。

索引的原理

本質都是:通過不斷地縮小想要獲取資料的範圍來篩選出最終想要的結果,同時把隨機的事件變成順序的事件,也就是說,有了這種索引機制,我們可以總是用同一種查詢方式來鎖定資料。

二 磁碟IO與預讀

考慮到磁碟IO是非常高昂的操作,計算機作業系統做了一些優化,當一次IO時,不光把當前磁碟地址的資料,而是把相鄰的資料也都讀取到記憶體緩衝區內,因為區域性預讀性原理告訴我們,當計算機訪問一個地址的資料的時候,與其相鄰的資料也會很快被訪問到。每一次IO讀取的資料我們稱之為一頁(page)。具體一頁有多大資料跟作業系統有關,一般為4k或8k,也就是我們讀取一頁內的資料時候,實際上才發生了一次IO,這個理論對於索引的資料結構設計非常有幫助。

索引的資料結構

B+樹

1.索引欄位要儘量的小

2.索引的最左匹配特性

聚集索引與輔助索引

更多 https://www.cnblogs.com/Eva-J/articles/10126413.html#_label1