在中MySQL的表類型和存儲過程,MySQL的表類型由存儲引擎(Storage Engines)決定,類型包括MyISAM、innoDB、BDB等。 常用的存儲引擎 MySQL 數據表主要支持六種類型 ,分(fēn)别是:BDB、HEAP、ISAM、
在中MySQL的表類型和存儲過程,MySQL的表類型由存儲引擎(Storage Engines)決定,類型包括MyISAM、innoDB、BDB等。
常用的存儲引擎
MySQL 數據表主要支持六種類型 ,分(fēn)别是:BDB、HEAP、ISAM、MERGE、MYISAM、InnoBDB。
這六種又分(fēn)爲兩類,一類是”事(shì)務安全型”(transaction-safe),包括BDB和InnoDB;其餘都(dōu)屬于第二類,稱爲”非事(shì)務安全型”(non-transaction-safe)。
BDB 全 稱是”Brekeley DB”,它是Mysql最早的具有事(shì)務能力的表的類型,由Sleepycat Software (http://www.sleepycat.com)開發。它提供了事(shì)務控制能力功能,它确保一組命令全部執行成功,或者當任何一個命令出現錯誤時所有 命令的結果都(dōu)被回退,可(kě)以想像在電子銀行中事(shì)務控制能力是非常重要的。支持COMMIT、ROLLBACK和其他(tā)事(shì)務特性。最新版本的Mysql已經計(jì)劃 移除對BDB的支持,轉而全力發展InnoDB。
mysql 存儲過程 InnoDB 是較新的事(shì)務安全型存儲引擎,用于事(shì)務處理(lǐ)應用程序,支持BDB的幾乎所有特性,并具有衆多新特性,包括ACID事(shì)務支持。
特性:
事(shì)務處理(lǐ)機(jī)制
支持外鏈
崩潰後能立即恢複
支持外鍵功能,級聯删除
支持并發能力
在硬盤上的存儲方式:InnoBDB frm
最新版本的Mysql已經計(jì)劃移除對BDB的支持,轉而全力發展InnoDB。InnoDB對Mysql有更好的特性支持,而且開發社區活躍。
MyISAM 默認的MySQL插件(jiàn)式存儲引擎,它是基于ISAM類型,但(dàn)它增加了許多有用的擴展,它是在Web、數據倉儲和其他(tā)應用環境下最常使用的存儲引擎之一。注意,mysql 存儲過程,通過更改STORAGE_ENGINE配置變量,能夠方便地更改MySQL服務器的默認存儲引擎。
優點:
1.比ISAM表更小,所占資源更少
2.可(kě)以在不同平台間二進制移植表的類型在創建表時指定。
ISAM 是MyISAM類型出現之前MySQL表使用的默認類型,現在已經被MyISAM代替。
Memory (HEAP) 是MySQL表中訪問(wèn)最快(kuài)的表,将所有數據保存在RAM中,在需要快(kuài)速查找引用和其他(tā)類似數據的環境下,可(kě)提供極快(kuài)的訪問(wèn)。注意,這種類型下數據是非持久化設計(jì)的,它一般适應于臨時表,如(rú)果MySQL或者服務器崩潰,表中數據全部丢失。
Merge 是 一種值得(de)關注的新式表,它是由一組MyISAM表組成,之所合并主要出于性能上考慮,因爲它能夠提高搜索速度,提高修複效率,節省磁盤空 間。允許MySQL DBA或開發人(rén)員(yuán)将一系列等同的MyISAM表以邏輯方式組合在一起,并作(zuò)爲1個對象引用它們。對于諸如(rú)數據倉儲等VLDB環境十分(fēn)适合。有時它以 MRG_MYISAM 名稱出現。
Archive 爲大(dà)量很少引用的曆史、歸檔、或安全審計(jì)信息的存儲和檢索提供了完美的解決方案。
Federated 能夠将多個分(fēn)離(lí)的MySQL服務器鏈接起來(lái),從(cóng)多個物理(lǐ)服務器創建一個邏輯數據庫。十分(fēn)适合于分(fēn)布式環境或數據集市環境。
NDBCluster/Cluster/NDB MySQL的簇式數據庫引擎,尤其适合于具有高性能查找要求的應用程序,這類查找需求還(hái)要求具有最高的正常工(gōng)作(zuò)時間和可(kě)用性。
CSV 使用标準的CSV格式,由逗号隔開的文本文件(jiàn),适應于外部數據交換
Blackhole 它會接受數據但(dàn)不保存,而且對任何檢索請(qǐng)求返回一個空集。它一般适應于數據會被自(zì)動複制并不進行本地保存的分(fēn)布式數據庫設計(jì)。(不确定的)似乎也可(kě)以用于臨時禁止/忽略對數據庫的應用程序輸入。
Example 這是一個測試引擎,你(nǐ)可(kě)以創建一個這樣的表,但(dàn)既不能寫入數據,也不能檢索數據。它似乎是一個針對MySql開發者提供的示例引擎。網站(zhàn)建設中MySQL的表類型和存儲過程如(rú)上所述。