mysql七種表格


MySQL 數據表七種類型 ,分別是:BDB、InnoBDB、HEAP、ISAM、MERGE、MYISAM、Gemeni

這七種又分為兩類,

一類是”事務安全型”(transaction-safe),包括BDB和InnoDB;

其余都屬於第二類,稱為”非事務安全型”(non-transaction-safe)。

1、BDB全稱是”Brekeley DB”,它是Mysql最早的具有事務能力的表的類型,由Sleepycat Software (http://www.sleepycat.com)開發。它提供了事務控制能力功能,它確保一組命令全部執行成功,或者當任何一個命令出現錯誤時所有 命令的結果都被回退,可以想像在電子銀行中事務控制能力是非常重要的。支持COMMIT、ROLLBACK和其他事務特性。

最新版本的Mysql已經計划 移除對BDB的支持,轉而全力發展InnoDB。

2、InnoDB是較新的事務安全型存儲引擎,用於事務處理應用程序,支持BDB的幾乎所有特性,並具有眾多新特性,包括ACID事務支持。

InnoDB:

特性:

事務處理機制

支持外鏈

崩潰后能立即恢復

支持外鍵功能,級聯刪除

支持並發能力

在硬盤上的存儲方式:InnoBDB frm

最新版本的Mysql已經計划移除對BDB的支持,轉而全力發展InnoDB。InnoDB對Mysql有更好的特性支持,而且開發社區活躍。

3、MyISAM默認的MySQL插件式存儲引擎,它是基於ISAM類型,但它增加了許多有用的擴展,它是在Web、數據倉儲和其他應用環境下最常使用的存儲引擎之一。

注意,通過更改STORAGE_ENGINE配置變量,能夠方便地更改MySQL服務器的默認存儲引擎。

優點:

1)比ISAM表更小,所占資源更少

2)可以在不同平台間二進制移植表的類型在創建表時指定。

4、ISAM 

是MyISAM類型出現之前MySQL表使用的默認類型,現在已經被MyISAM代替

5、Memory (HEAP

是MySQL表中訪問最快的表,將所有數據保存在RAM中,在需要快速查找引用和其他類似數據的環境下,可提供極快的訪問。

注意,這種類型下數據是非持久化設計的,它一般適應於臨時表,如果MySQL或者服務器崩潰,表中數據全部丟失

6、Merge

是一種值得關注的新式表,它是由一組MyISAM表組成,之所合並主要出於性能上考慮,因為它能夠提高搜索速度,提高修復效率,節省磁盤空 間。

允許MySQL DBA或開發人員將一系列等同的MyISAM表以邏輯方式組合在一起,並作為1個對象引用它們。

對於諸如數據倉儲等VLDB環境十分適合。有時它以 MRG_MYISAM 名稱出現。

MERGE是一個有趣的新類型,在3.23.25之后出現。一個MERGE表實際上是又一個MyISAM表的集合,合並而成的一個表,主要是為了效率的考慮,因為這樣不僅僅可以提高速度、搜索效率、修復效率而且還節省了磁盤空間。

7、Gemeni

Gemeni表,據聽說也是在MySQL 4.0之后推出的,不過截至當前,很少有針對它的介紹,同樣應用也就更少了,我們暫時不作介紹。

 

MySQL的數據表類型很多,其中比較重要的是MyISAM,InnoDB這兩種。 
這兩種類型各有優缺點,需要根據實際情況選擇適合的,MySQL支持對不同的表設置不同的類型。下面做個簡單的對比: 
MyISAM表類型是一種比較成熟穩定的表類型,但是MyISAM對一些功能不支持。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM