2015/10/21

MySQL各類引擎對比



FROM:
http://blog.roga.tw/2008/11/mysql-%E8%B3%87%E6%96%99%E5%BA%AB%E5%84%B2%E5%AD%98%E5%BC%95%E6%93%8E%E7%9A%84%E9%81%B8%E7%94%A8/
http://ssorc.tw/663
http://twpug.net/docs/mysql-5.1/pluggable-storage.html
簡而言之:
項目 MyISAM InnoDB Memory
空間限制 64TB 記憶體
transaction x x
大量 Insert 速度
設置外來鍵 x x
鎖定層級 資料表 資料列 資料表
二元樹索引 不知
雜湊索引 x
全文搜尋索引 x x
資料壓縮 x x
資料快取 x
索引快取
記憶體佔用
磁碟佔用 x

MyISAM 來說,最大的好處是成本低,而且可以 create views
InnoDB 也是有缺點像是不支援 FULLTEXT 的索引,且記憶體佔用多、磁碟空間耗用大
下述儲存引擎是最常用的:
· 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引擎(可為快速建立定製的插件式儲存引擎提供幫助)。
請記住,對於整個伺服器或方案,您並不一定要使用相同的儲存引擎,您可以為方案中的每個資料表使用不同的儲存引擎,這點很重要。

沒有留言:

JPA+complex key+custom Query

  來源: https://www.cnblogs.com/520playboy/p/6512592.html   整個來說,就是有複合主鍵 然後要使用  public interface XxXXxx DAO extends CrudRepository<Tc...