mysql索引知識簡單記錄

簡介mysql

 今天記錄下索引基礎知識sql

 一、mysql單表最多支持多少個索引,索引總長度爲多少?mysql索引

索引是在存儲引擎中實現的,所以每種存儲引擎的索引都不必定徹底相同,而且每種存儲引擎也不必定支持全部索引類型。編碼

大多數存儲引擎有更高的限制。MySQL中索引的存儲類型有兩種:BTREE和HASH,具體和表的存儲引擎相關;.net

MYISAM和InnoDB存儲引擎只支持BTREE索引;MEMORY和HEAP存儲引擎能夠支持HASH和BTREE索引3d

 二、mysql在MySQL文檔裏,其實是把B+樹索引寫成了BTREE,以下圖blog

千萬別覺得mysql mysiam和innoDB用的是B樹索引

三、mysql怎麼建一個聚餐索引?文檔

InnoDb將經過主鍵彙集數據,若是沒有定義主鍵,InnoDB 會選擇一個惟一的非空索引代替。若是沒有這樣的索引,InnoDB 會隱式定義一個主鍵來做爲聚簇索引get

 四、mysql索引長度限制

myisam表,單列索引,最大長度不能超過 1000 bytes;

innodb表,單列索引,最大長度不能超過 767 bytes;聯合索引還有一個限制是長度不能超過3072

utf8 編碼時   一個字符佔三個字節

varchar  型能創建索引的最大長度分別爲

myisam   1000/3   333

innodb     767/3    255

 

utf8mb4 編碼時   一個字符佔四個字節

varchar  型能創建索引的最大長度分別爲

myisam   1000/4   250

innodb     767/4    191

相關文章
相關標籤/搜索