《深入淺出MySQL》讀書筆記三:儲存引擎選擇
阿新 • • 發佈:2018-12-15
綜述: 選擇MyISAM的場景:操作以 insert和select 為主,update和delete較少的場景
選擇InnoDB的場景:大量update的場景,需要 事務和行鎖的支援 來達到比較好的效能
一、MyISAM
訪問速度快
儲存方式: 儲存為3個檔案, 檔名和表名相同,副檔名分別為:.frm 儲存表定義,.MYD儲存資料, .MYI儲存索引
表支援三種儲存格式:
靜態表:欄位都是 定長欄位, 優點:儲存非常迅速,容易快取,出現故障容易恢復 缺點:平均佔用空間比動態表多
動態表:包含 變長欄位, 優點:佔用空間少 缺點:更新刪除會產生碎片,故障不易恢復
二、InnoDB
支援 事務和行鎖、外來鍵。
三、MEMORY
儲存於記憶體中,大小受限制,訪問速度非常快,支援 hash索引
四、MERGE
構建於 多個 MyISAM表之上,這些MyISAM表結構必須完全相同。對MERGE表的 update、delete、select操作實際上回對內部的 MyISAM表進行,可用於 MyISAM表的 水平拆分。 insert操作可以配置 insert_method=last/first 插入最後一張、第一張表中。