Mysql索引總結

2021-10-06 15:27:44 字數 829 閱讀 7527

概念:幫助mysql高效獲取資料的資料結構

索引結構

常見的四種索引

myisam,innodb,memory三種儲存引擎對各種索引型別的支援
索引

innodb引擎

myisam引擎

memory引擎

btree索引

支援支援

支援hash索引

不支援不支援

支援r-tree索引

不支援支援

不支援full-text

5.6版本以後支援

支援不支援

btree結構

b+tree結構

b+tree為btree的變種,兩者區別為

mysql中的b+tree

mysql索引資料結構對經典的b+tree進行了優化,在原來的b+tree的基礎上,增加了乙個指向相鄰葉子結點的鍊錶指標,就形成了帶有順序指標的b+tree,提高區間的訪問效能

索引分類

索引相關操作

--建立索引

create

index 索引名 on 表(索引列)

alter

table 表名 add

index 索引名(索引列)

--刪除索引

drop

index 索引名 on 表

--檢視索引

show

index

from 表

索引的設計原則

避免索引失效

mysql 索引總結 mysql索引總結

mysql中每乙個表都有乙個聚簇索引clusted index,該所索引是預設建立的,除此之外的表上的每乙個非聚簇索引都是二級索引,又叫輔助索引 secondary indexes 以innodb來說,每個innodb表具有乙個特殊的索引稱為聚集索引,如果您的表上定義有主鍵,該主鍵索引是聚集索引,如...

mysql次級索引 MySQL 索引總結

1 索引是做什麼的?想象一下,你面前有本詞典,資料就是書的正文內容,你就是那個cpu,而索引,則是書的目錄 索引用於快速找出在某個列中有一特定值的行。不使用索引,mysql必須從第1條記錄開始然後讀完整個表直到找出相關的行。表越大,花費的時間越多。如果表中查詢的列有乙個索引,mysql能快速到達乙個...

mysql 索引總結

索引用來快速地尋找那些具有特定值的記錄,所有mysql索引都以b 樹的形式儲存。如果沒有索引,執行查詢時mysql必須從第乙個記錄開始掃瞄整個表的所有記錄,直至找到符合要求的記錄。表裡面的記錄數量越多,這個操作的代價就越高。如果作為搜尋條件的列上已經建立了索引,mysql無需掃瞄任何記錄即可迅速得到...