Mysql的儲存引擎的類型,MyISAM&InnoDB等,mysqlmyisam

來源:互聯網
上載者:User

Mysql的儲存引擎的類型,MyISAM&InnoDB等,mysqlmyisam

部分文字參考其他部落格或者文字。
官方解釋:

· MyISAM:預設的MySQL外掛程式式儲存引擎,它是在Web、資料倉儲和其他應用環境下最常使用的儲存引擎之一。注意,通過更改STORAGE_ENGINE組態變數,能夠方便地更改MySQL伺服器的預設儲存引擎。

· InnoDB:用於交易處理應用程式,具有眾多特性,包括ACID事務支援。

· BDB:可替代InnoDB的事務引擎,支援COMMIT、ROLLBACK和其他事務特性。

· Memory:將所有資料儲存在RAM中,在需要快速尋找引用和其他類似資料的環境下,可提供極快的訪問。

· Merge:允許MySQL DBA或開發人員將一系列等同的MyISAM表以邏輯方式組合在一起,並作為1個對象引用它們。對於諸如資料倉儲等VLDB環境十分適合。

· Archive:為大量很少引用的曆史、歸檔、或安全審計資訊的儲存和檢索提供了完美的解決方案。

· Federated:能夠將多個分離的MySQL伺服器連結起來,從多個物理伺服器建立一個邏輯資料庫。十分適合於分布式環境或資料集市環境。

· Cluster/NDB:MySQL的簇式資料庫引擎,尤其適合於具有高效能尋找要求的應用程式,這類尋找需求還要求具有最高的正常工作時間和可用性。

· Other:其他儲存引擎包括CSV(引用由逗號隔開的用作資料庫表的檔案),Blackhole(用於臨時禁止對資料庫的應用程式輸入),以及Example引擎(可為快速建立定製的外掛程式式儲存引擎提供協助)。

對於整個伺服器或方案,可以為方案中的每個表使用不同的儲存引擎,已達到需要的目標和效果。

任何一種表都不是萬能的,只用恰當的針對業務類型來選擇合適的表類型,才能最大的發揮MySQL的效能優勢.

MyISAM&InnoDB一些細節上差別
1.InnoDB不支援FULLTEXT類型的索引。
2.InnoDB中不儲存表的 具體行數,也就是說,執行select count() from table時,InnoDB要掃描一遍整個表來計算有多少行,但是MyISAM只要簡單的讀出儲存好的行數即可。注意的是,當count()語句包含 where條件時,兩種表的操作是一樣的。
3.對於AUTO_INCREMENT類型的欄位,InnoDB中必須包含只有該欄位的索引,但是在MyISAM表中,可以和其他欄位一起建立聯合索引。

4.MySQL Administrator建資料庫的時候,表預設是InnoDB類型。

5.MyISAM類型不支援交易處理等進階處理,而InnoDB類型支援。 6.MyISAM類型的表強調的是效能,其執行數度比InnoDB類型更快,但是不提供事務支援,而InnoDB提供事務支援,外鍵等進階資料庫功能。

7.MyISAM類型的位元據檔案可以在不同作業系統中遷移。也就是可以直接從Windows系統拷貝到linux系統中使用。

一些相關的命令
1.查看錶資訊,裡麵包括使用的引擎類型,字元編碼,表結構等

mysql> show create table t1;–t1是表名

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.