1. 程式人生 > >mysql表的儲存引擎種類

mysql表的儲存引擎種類

表 儲存引擎種類:

MyISAM結構:

.frm檔案:儲存表資料定義、表結構

.MYD檔案:儲存表資料行

.MYI檔案:儲存表的索引,儲存在b+tree裡面

MyISAM儲存引擎結構:

根據col=49,根據b+tree快速定位到49,獲取磁碟指標(values)0X90,從而獲取表資料;

InnoDB結構儲存引擎:必須需要有主鍵,為啥?

.ibd檔案:索引檔案和資料行合併 

MyISAM和InnoDB區別:

MyISAM:索引所在磁碟指標

InnoDB:索引所在行其他欄位儲存

聚集索引:索引和資料在一起

 

非聚集索引:從一個檔案去獲取另一個檔案,索引和資料沒有在一起

問題:

InnoDB結構儲存引擎:必須需要有主鍵,為啥?

如果InnoDB表沒有主鍵,mysql會從表中尋找一個可以唯一標識的主鍵,

如果找不到,他會生成預設列(隱藏列)。來維護資料。

 

UUID:長串字串,佔有儲存空間,比較慢等 

為何使用自增主鍵?

後面大於前面,一次追加,滿足葉子節點

 

聯合索引的底層結構:

 

小的放左邊,相同的比較下面的引數。