1. 程式人生 > >《深入淺出MySQL》讀書筆記三:儲存引擎選擇

《深入淺出MySQL》讀書筆記三:儲存引擎選擇

綜述: 選擇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 插入最後一張、第一張表中。