- 相關(guān)推薦
2017計算機二級MySQL數據庫查看表類(lèi)型分析
引導語(yǔ):MySQL是一種開(kāi)放源代碼的關(guān)系型數據庫管理系統,以下是百分網(wǎng)小編分享給大家的2017計算機二級MySQL數據庫查看表類(lèi)型分析,歡迎閱讀學(xué)習!
MySQL 數據表主要支持六種類(lèi)型 ,分別是:BDB、HEAP、ISAM、MERGE、MYISAM、InnoBDB。
這六種又分為兩類(lèi),一類(lèi)是”事務(wù)安全型”(transaction-safe),包括BDB和InnoDB;其余都屬于第二類(lèi),稱(chēng)為”非事務(wù)安全型”(non-transaction-safe)。
BDB 全稱(chēng)是”Brekeley DB”,它是Mysql最早的具有事務(wù)能力的表的類(lèi)型,由Sleepycat Software (http://www.sleepycat.com)開(kāi)發(fā)。它提供了事務(wù)控制能力功能,它確保一組命令全部執行成功,或者當任何一個(gè)命令出現錯誤時(shí)所有 命令的結果都被回退,可以想像在電子銀行中事務(wù)控制能力是非常重要的。支持COMMIT、ROLLBACK和其他事務(wù)特性。最新版本的Mysql已經(jīng)計劃 移除對BDB的支持,轉而全力發(fā)展InnoDB。
InnoDB 是較新的事務(wù)安全型存儲引擎,用于事務(wù)處理應用程序,支持BDB的幾乎所有特性,并具有眾多新特性,包括ACID事務(wù)支持。
特性:
·事務(wù)處理機制
·支持外鏈
·崩潰后能立即恢復
·支持外鍵功能,級聯(lián)刪除
·支持并發(fā)能力
·在硬盤(pán)上的存儲方式:InnoBDB frm
最新版本的Mysql已經(jīng)計劃移除對BDB的支持,轉而全力發(fā)展InnoDB。InnoDB對Mysql有更好的特性支持,而且開(kāi)發(fā)社區活躍。
MyISAM 默認的MySQL插件式存儲引擎,它是基于ISAM類(lèi)型,但它增加了許多有用的擴展,它是在Web、數據倉儲和其他應用環(huán)境下最常使用的存儲引擎之一。注意,通過(guò)更改STORAGE_ENGINE配置變量,能夠方便地更改MySQL服務(wù)器的默認存儲引擎。
優(yōu)點(diǎn):
·1.比ISAM表更小,所占資源更少
·2.可以在不同平臺間二進(jìn)制移植表的類(lèi)型在創(chuàng )建表時(shí)指定。
ISAM 是MyISAM類(lèi)型出現之前MySQL表使用的默認類(lèi)型,現在已經(jīng)被MyISAM代替。
Memory (HEAP) 是MySQL表中訪(fǎng)問(wèn)最快的表,將所有數據保存在RAM中,在需要快速查找引用和其他類(lèi)似數據的環(huán)境下,可提供極快的訪(fǎng)問(wèn)。注意,這種類(lèi)型下數據是非持久化設計的,它一般適應于臨時(shí)表,如果MySQL或者服務(wù)器崩潰,表中數據全部丟失。
Merge 是一種值得關(guān)注的新式表,它是由一組MyISAM表組成,之所合并主要出于性能上考慮,因為它能夠 提高搜索速度,提高修復效率,節省磁盤(pán)空 間。允許MySQL DBA或開(kāi)發(fā)人員將一系列等同的MyISAM表以邏輯方式組合在一起,并作為1個(gè)對象引用它們。對于諸如數據倉儲等VLDB環(huán)境十分適合。有時(shí)它以 MRG_MYISAM 名稱(chēng)出現。
Archive 為大量很少引用的歷史、歸檔、或安全審計信息的存儲和檢索提供了完美的解決方案。
Federated 能夠將多個(gè)分離的MySQL服務(wù)器鏈接起來(lái),從多個(gè)物理服務(wù)器創(chuàng )建一個(gè)邏輯數據庫。十分適合于分布式環(huán)境或數據集市環(huán)境。
NDBCluster/Cluster/NDB MySQL的簇式數據庫引擎,尤其適合于具有高性能查找要求的應用程序,這類(lèi)查找需求還要求具有最高的正常工作時(shí)間和可用性。
CSV 使用標準的CSV格式,由逗號隔開(kāi)的文本文件,適應于外部數據交換
Blackhole 它會(huì )接受數據但不保存,而且對任何檢索請求返回一個(gè)空集。它一般適應于數據會(huì )被自動(dòng)復制并不進(jìn)行本地保存的分布式數據庫設計。(不確定的)似乎也可以用于臨時(shí)禁止/忽略對數據庫的應用程序輸入。
Example 這是一個(gè)測試引擎,你可以創(chuàng )建一個(gè)這樣的表,但既不能寫(xiě)入數據,也不能檢索數據。它似乎是一個(gè)針對MySql開(kāi)發(fā)者提供的示例引擎。
有關(guān)操作和查看表類(lèi)型的命令語(yǔ)法如下
?[Copy to clipboard]View Code SQL
創(chuàng )建表時(shí)指定表類(lèi)型的方法
CREATE TABLE `message` (
`id` int(11) NOT NULL auto_increment,
`sender` varchar(255) default NULL,
`receiver` varchar(255) default NULL,
`content` text,
`is_read` char(1) default ’N’,
`send_time` datetime default NULL,
`del_flag` tinyint(4) default ’0’,
PRIMARY KEY (`id`)
) ENGINE=MYISAM;
也可以創(chuàng )建后更改:
ALTER TABLE `message` ENGINE = INNODB;
-- 查看表類(lèi)型(存儲引擎)
SHOW TABLE STATUS FROM `test`;
-- -- 結果為數據庫test中所有表的信息,其中第二項type即是表的類(lèi)型。
-- 查看表類(lèi)型(存儲引擎)2
SHOW CREATE TABLE `message`;
-- -- 結果為表message創(chuàng )建時(shí)的信息,其中有TYPE或ENGINE一項,指定了表的類(lèi)型(存儲引擎)。
-- show tables不能得到表類(lèi)型的信息。
注意:老版本的MySQL使用 TYPE而不是ENGINE(例如,TYPE = MYISAM)。MySQL 5.1為向下兼容而支持這個(gè)語(yǔ)法,但TYPE現在被輕視,而ENGINE 是首先的用法。 一般地,ENGINE選項是不必要的;除非默認已經(jīng)被改變了,MyISAM是默認存儲引擎。
數據表的可移植性
常用的數據移植方法:把數據表的內容導出到一個(gè)文本文件中,然后拷貝到硬盤(pán)上,然后導入目標數據庫里面。
就文件層次的操作來(lái)說(shuō),某些數據表是可以直接單獨拷貝表文件來(lái)移動(dòng)的,見(jiàn)下表
ISAM No
MyIASM Yes
BDB No
InnoBDB Yes
【計算機二級MySQL數據庫查看表類(lèi)型分析】相關(guān)文章:
2017計算機二級MySQL考試在MySQL數據庫比較日期的方法07-21
計算機二級mysql數據庫模擬試題10-17
計算機二級MySQL數據庫真題09-24
2017計算機二級MySQL數據類(lèi)型介紹11-03
計算機二級MySQL數據庫模擬題11-04
2016計算機二級《MySQL數據庫》考試要點(diǎn)10-22
計算機二級考試MySQL數據庫考試習題10-10