mysql學習 索引的類別和結構

2021-10-23 08:31:02 字數 940 閱讀 4574

b+樹索引

b+樹索引適合全鍵值、鍵值範圍、鍵字首查詢

跟oracle的b+數是乙個結構。

聚簇索引的葉節點儲存資料頁,其結構是一致的。

雜湊索引

雜湊索引基於雜湊表實現,只有精確匹配索引所有列的查詢才有效。對於每一行,儲存引擎都會對索引列計算hash code,雜湊索引存放hash code和行指標

雜湊索引不等於雜湊連線

innodb hash索引支援表

innodb應該是不支援手動建立hash索引,僅支援 adaptive hash index 

adaptive hash index 

innodb儲存引擎會監控對錶上索引的查詢,如果觀察到建立雜湊索引可以帶來速度的提公升,則建立雜湊索引,所以稱之為自適應(adaptive) 的雜湊索引

innodb_adaptive_hash_index

property

value

command-line format

--innodb-adaptive-hash-index[=]

system variable

innodb_adaptive_hash_index

scope

global

dynamic

yestype

boolean

default value

on或者--skip-innodb-adaptive-hash-index啟動server時選擇關閉自適應雜湊

空間資料索引r-tree

myisam支援空間索引。gis支援較好的是postgre的postgis

全文索引

其他索引類別

第三方儲存引擎支援的索引

索引結構,索引類別,慢查詢優化

索引 索引資料結構 b tree 1.磁碟讀寫代價更低 2.查詢效率更加穩定 3.更有利於對資料庫的掃瞄 hash索引 高效 缺點 1.僅僅能滿足 in 2.無法被用來避免資料的排序 3.不能利用部分索引查詢 4.不能避免表掃瞄 5.遇到大量hash重複 bitmap點陣圖索引 主要使用重複多比如性...

索引的資料結構及類別初探

資料庫是我們開發程式設計中不可缺少的模組,而資料庫的索引又是重中之重。在關聯式資料庫中,索引是一種對資料庫表中的值進行排序的儲存結構。索引的作用相當於圖書的目錄,可以根據目錄中的頁碼快速找到所需的內容。索引提供指向儲存在表的指定列中的資料值的指標,然後根據您指定的排序順序對這些指標排序。資料庫使用索...

mysql多索引結構 MySQL 索引結構詳解

innodb的主鍵索引 primary key 是cluster形式的 聚簇索引 innodb的非主鍵索引 secondary index 是普通的b tree索引。兩種索引在root node和branch node是一樣的,在leaf node就不一樣了。primary key存放的是表的實際資...