MySQL儲存引擎和表型別
阿新 • • 發佈:2021-11-20
基本介紹
-
MySQL的表型別由儲存引擎決定,主要包括MyISAM、InnoDB、Memory等
-
MySQL資料表主要支援六種型別,分別是:CSV、Memory、ARCHIVE、MRG_MYISAM、MYISAM、InnoDB
-
資料表可以分為兩類:一類是事務安全型,比如InnoDB;另一類是非事務安全型,其餘都屬於第二類。
主要的儲存引擎/表型別特點
細節說明
主要說三種表型別:MyISAM、InnoDB、Memory
- MyISAM不支援事務,也不支援外來鍵,但訪問速度快,對事務完整性沒有要求
- InnoDB儲存引擎提供了具有提交、回滾和崩潰修復能力的事務安全。但比起MyISAM,處理效率會差
- Memory儲存引擎使用存在記憶體中的內容來建立表。每個Memory表只實際對應一個磁碟檔案。Memory型別的表訪問非常快,因為資料是存在記憶體中的,並且預設使用HASH索引。但是一旦MySQL服務關閉,表中資料會丟失,但表結構還在
如何選擇表的儲存引擎
- 如果不需要事務,只處理基本的CRUD,MyISAM是最好的選擇,速度快
- 需要支援事務,就選擇InnoDB
- Memory儲存引擎將資料儲存在記憶體中,由於沒有I/O等待,速度極快,但由於是記憶體儲存引擎,所在的任何修改在伺服器重啟後都將消失(經典用法:使用者的線上狀態)
修改儲存引擎
ALTER TABLE [表名] ENGINE = [儲存引擎]