學(xué)習(xí)Mysql數(shù)據(jù)庫(kù),Mysql表類(lèi)型都有哪些是一定需要知道的,下面就為您介紹七種Mysql表類(lèi)型,希望能對(duì)您學(xué)習(xí)Mysql表類(lèi)型有所幫助。
MySQL作為當(dāng)前最為流行的免費(fèi)數(shù)據(jù)庫(kù)服務(wù)引擎,已經(jīng)風(fēng)靡了很長(zhǎng)一段時(shí)間,不過(guò)也許也有人對(duì)于MySQL的內(nèi)部環(huán)境不很了解,尤其那些針對(duì)并發(fā)性處理的機(jī)制。今天,我們先了解一下Mysql表類(lèi)型,以及它們的一些簡(jiǎn)單性質(zhì)。
截至目前,MySQL一共向用戶(hù)提供了包括DBD、HEAP、ISAM、MERGE、MyIAS、InnoDB以及Gemeni這7種Mysql表類(lèi)型。其中DBD、InnoDB屬于事務(wù)安全類(lèi)表,而其他屬于事務(wù)非安全類(lèi)表。
DBD
Berkeley DB(DBD)表是支持事務(wù)處理的表,由Sleepycat軟件公司開(kāi)發(fā)。它提供MySQL用戶(hù)期待已久的功能--事務(wù)控制。事務(wù)控制在任何數(shù)據(jù)庫(kù)系統(tǒng)中都是一個(gè)極有價(jià)值的功能,因?yàn)樗鼈兇_保一組命令能成功地執(zhí)行或回滾。
HEAP
HEAP表是MySQL中存取數(shù)據(jù)最快的表。這是因?yàn)樗麄兪褂么鎯?chǔ)在動(dòng)態(tài)內(nèi)存中的一個(gè)散列索引,不過(guò)如果MySQL或服務(wù)器崩潰,這些內(nèi)存數(shù)據(jù)將會(huì)丟失。
ISAM
ISAM表是早期MySQL版本的缺省表類(lèi)型,直到MyIASM開(kāi)發(fā)出來(lái)。建議不要再使用它。
MERGE
MERGE是一個(gè)有趣的新類(lèi)型,在3.23.25之后出現(xiàn)。一個(gè)MERGE表實(shí)際上是又一個(gè)MyISAM表的集合,合并而成的一個(gè)表,主要是為了效率的考慮,因?yàn)檫@樣不僅僅可以提高速度、搜索效率、修復(fù)效率而且還節(jié)省了磁盤(pán)空間。
MyIASM
MyIASM基于了IASM代碼,應(yīng)該可以說(shuō)是IASM的衍生品,不過(guò)增加了不少有用的擴(kuò)展。它是MySQL的默認(rèn)數(shù)據(jù)表類(lèi)型,基于了傳統(tǒng)的ISAM類(lèi)型,ISAM是Indexed Sequential Access Method(有索引的順序訪(fǎng)問(wèn)方法)的縮寫(xiě),一般來(lái)說(shuō),它是存儲(chǔ)記錄和文件的標(biāo)準(zhǔn)方法。與其他存儲(chǔ)引擎比較,MyISAM具有檢查和修復(fù)表格的大多數(shù)工具。ISAM表格可以被壓縮,而且它們支持全文搜索,不過(guò)它們是事務(wù)不安全的,而且也不支持外鍵。如果事務(wù)回滾將會(huì)造成不完全回滾,從而不具備原子性。所以假如忽略事務(wù)以及訪(fǎng)問(wèn)并發(fā)性的話(huà),并且需要執(zhí)行大量的SELECT檢索語(yǔ)句的話(huà),MyISAM將是最好的選擇。
InnoDB
InnoDB是MySQL 4.0之后推出的一種比較新的數(shù)據(jù)表類(lèi)型,這種類(lèi)型是事務(wù)安全的。它與BDB類(lèi)型具有相同的特性,它們還支持外鍵。InnoDB表格速度很快具有比BDB還豐富的特性,因此如果需要一個(gè)事務(wù)安全的存儲(chǔ)引擎,建議使用它。如果你的數(shù)據(jù)執(zhí)行大量的INSERT或UPDATE,出于性能方面的考慮,同樣應(yīng)該使用InnoDB表。對(duì)于支持事務(wù)的InnoDB類(lèi)型的表來(lái)說(shuō),影響速度的主要原因是AUTOCOMMIT默認(rèn)設(shè)置是打開(kāi)的,而且程序沒(méi)有顯式調(diào)用BEGIN 開(kāi)始事務(wù),導(dǎo)致每插入一條都自動(dòng)提交,嚴(yán)重影響了速度。可以在執(zhí)行sql前調(diào)用begin,多條sql形成一個(gè)事物(即使autocommit打開(kāi)也可以),將大大提高性能。
Gemeni
Gemeni表,據(jù)聽(tīng)說(shuō)也是在MySQL 4.0之后推出的,不過(guò)截至當(dāng)前,很少有針對(duì)它的介紹,同樣應(yīng)用也就更少了,我們暫時(shí)不作介紹。
MySQL的數(shù)據(jù)表類(lèi)型很多,其中比較重要的是MyISAM,InnoDB這兩種。
這兩種類(lèi)型各有優(yōu)缺點(diǎn),需要根據(jù)實(shí)際情況選擇適合的,MySQL支持對(duì)不同的表設(shè)置不同的類(lèi)型。下面做個(gè)簡(jiǎn)單的對(duì)比:
MyISAM表類(lèi)型是一種比較成熟穩(wěn)定的表類(lèi)型,但是MyISAM對(duì)一些功能不支持。 本文出自:億恩科技【mszdt.com】
服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|