1. 程式人生 > 其它 >MySQL儲存引擎和表型別

MySQL儲存引擎和表型別

基本介紹

  1. MySQL的表型別由儲存引擎決定,主要包括MyISAM、InnoDB、Memory等

  2. MySQL資料表主要支援六種型別,分別是:CSV、Memory、ARCHIVE、MRG_MYISAM、MYISAM、InnoDB

  3. 資料表可以分為兩類:一類是事務安全型,比如InnoDB;另一類是非事務安全型,其餘都屬於第二類。

主要的儲存引擎/表型別特點

細節說明

主要說三種表型別:MyISAM、InnoDB、Memory

  1. MyISAM不支援事務,也不支援外來鍵,但訪問速度快,對事務完整性沒有要求
  2. InnoDB儲存引擎提供了具有提交、回滾和崩潰修復能力的事務安全。但比起MyISAM,處理效率會差
    一些,並且會佔用更多的磁碟空間以保留資料和索引
  3. Memory儲存引擎使用存在記憶體中的內容來建立表。每個Memory表只實際對應一個磁碟檔案。Memory型別的表訪問非常快,因為資料是存在記憶體中的,並且預設使用HASH索引。但是一旦MySQL服務關閉,表中資料會丟失,但表結構還在

如何選擇表的儲存引擎

  1. 如果不需要事務,只處理基本的CRUD,MyISAM是最好的選擇,速度快
  2. 需要支援事務,就選擇InnoDB
  3. Memory儲存引擎將資料儲存在記憶體中,由於沒有I/O等待,速度極快,但由於是記憶體儲存引擎,所在的任何修改在伺服器重啟後都將消失(經典用法:使用者的線上狀態)

修改儲存引擎

ALTER TABLE [表名] ENGINE = [儲存引擎]