1. 程式人生 > 其它 >mysql七種表格

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對一些功能不支援。