mysql表的儲存引擎種類
阿新 • • 發佈:2019-09-05
表 儲存引擎種類:
MyISAM結構:
.frm檔案:儲存表資料定義、表結構
.MYD檔案:儲存表資料行
.MYI檔案:儲存表的索引,儲存在b+tree裡面
MyISAM儲存引擎結構:
根據col=49,根據b+tree快速定位到49,獲取磁碟指標(values)0X90,從而獲取表資料;
InnoDB結構儲存引擎:必須需要有主鍵,為啥?
.ibd檔案:索引檔案和資料行合併
MyISAM和InnoDB區別:
MyISAM:索引所在磁碟指標
InnoDB:索引所在行其他欄位儲存
聚集索引:索引和資料在一起
非聚集索引:從一個檔案去獲取另一個檔案,索引和資料沒有在一起
問題:
InnoDB結構儲存引擎:必須需要有主鍵,為啥?
如果InnoDB表沒有主鍵,mysql會從表中尋找一個可以唯一標識的主鍵,
如果找不到,他會生成預設列(隱藏列)。來維護資料。
UUID:長串字串,佔有儲存空間,比較慢等
為何使用自增主鍵?
後面大於前面,一次追加,滿足葉子節點
聯合索引的底層結構:
小的放左邊,相同的比較下面的引數。