mysql引擎及其索引結構

mysql  使用的引擎:

1)  MyIsam 不支持事務,適用於選擇密集型,插入密集型,mysql 默認的引擎
2)  innodb 使用於更新密集型,支持事務,自動災難恢復,行級鎖,外鍵約束
3)memory 出發點是速度 採用的邏輯存儲介質是內存

4)merge 一組 myisam 表的組合

mysq  索引使用的數據結構:B+樹

索引:用於提高數據訪問速度的數據庫對象。

優點:1)索引可以避免全表掃描;

          2)對於非聚集索引,有些查詢甚至可以不訪問數據項;

          3)聚集索引可以避免數據插入操作集中於表的最後一個數據頁;

          4)一些情況下,索引還可以避免排序。

雖然索引可以提高查詢速度,但是他們也會導致數據庫更新數據的性能下降,因爲大部
分數據更新時需要同時更新索引。
聚集索引:數據按索引順序存儲,葉子節點存儲真實的數據行,不再有另外單獨的數據
頁。在一張表上只能創建一個聚集索引,因爲真實數據的物理順序只能有 1 種,若一張表沒
有聚集索引,則他被稱爲堆集,這樣表的數據行無特定的順序,所有新行將被添加到表的末
尾。
非聚集索引與聚集索引的區別:
1)葉子節點並非數據節點
2)葉子節點爲每一個真正的數據行存儲一個“鍵-指針”對
3)葉子節點中還存儲了一個指針偏移量,根據頁指針及指針偏移可以定位到具體的數
據行。
4)在除葉節點外的其他索引節點,存儲的是類似內容,只不過是指向下一級索引頁。
類加載
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章