2015-11-15 分類: 網(wǎng)站建設(shè)
在網(wǎng)站建設(shè)中MySQL的表類型和存儲過程,MySQL的表類型由存儲引擎(Storage Engines)決定,類型包括MyISAM、innoDB、BDB等。
常用的存儲引擎
MySQL 數(shù)據(jù)表主要支持六種類型 ,分別是:BDB、HEAP、ISAM、MERGE、MYISAM、InnoBDB。
這六種又分為兩類,一類是”事務(wù)安全型”(transaction-safe),包括BDB和InnoDB;其余都屬于第二類,稱為”非事務(wù)安全型”(non-transaction-safe)。
BDB 全 稱是”Brekeley DB”,它是Mysql最早的具有事務(wù)能力的表的類型,由Sleepycat Software (http://www.sleepycat.com)開發(fā)。它提供了事務(wù)控制能力功能,它確保一組命令全部執(zhí)行成功,或者當(dāng)任何一個命令出現(xiàn)錯誤時所有 命令的結(jié)果都被回退,可以想像在電子銀行中事務(wù)控制能力是非常重要的。支持COMMIT、ROLLBACK和其他事務(wù)特性。最新版本的Mysql已經(jīng)計劃 移除對BDB的支持,轉(zhuǎn)而全力發(fā)展InnoDB。
mysql 存儲過程 InnoDB 是較新的事務(wù)安全型存儲引擎,用于事務(wù)處理應(yīng)用程序,支持BDB的幾乎所有特性,并具有眾多新特性,包括ACID事務(wù)支持。
特性:
事務(wù)處理機制
支持外鏈
崩潰后能立即恢復(fù)
支持外鍵功能,級聯(lián)刪除
支持并發(fā)能力
在硬盤上的存儲方式:InnoBDB frm
最新版本的Mysql已經(jīng)計劃移除對BDB的支持,轉(zhuǎn)而全力發(fā)展InnoDB。InnoDB對Mysql有更好的特性支持,而且開發(fā)社區(qū)活躍。
MyISAM 默認的MySQL插件式存儲引擎,它是基于ISAM類型,但它增加了許多有用的擴展,它是在Web、數(shù)據(jù)倉儲和其他應(yīng)用環(huán)境下最常使用的存儲引擎之一。注意,mysql 存儲過程,通過更改STORAGE_ENGINE配置變量,能夠方便地更改MySQL服務(wù)器的默認存儲引擎。
優(yōu)點:
1.比ISAM表更小,所占資源更少
2.可以在不同平臺間二進制移植表的類型在創(chuàng)建表時指定。
ISAM 是MyISAM類型出現(xiàn)之前MySQL表使用的默認類型,現(xiàn)在已經(jīng)被MyISAM代替。
Memory (HEAP) 是MySQL表中訪問最快的表,將所有數(shù)據(jù)保存在RAM中,在需要快速查找引用和其他類似數(shù)據(jù)的環(huán)境下,可提供極快的訪問。注意,這種類型下數(shù)據(jù)是非持久化設(shè)計的,它一般適應(yīng)于臨時表,如果MySQL或者服務(wù)器崩潰,表中數(shù)據(jù)全部丟失。
Merge 是 一種值得關(guān)注的新式表,它是由一組MyISAM表組成,之所合并主要出于性能上考慮,因為它能夠提高搜索速度,提高修復(fù)效率,節(jié)省磁盤空 間。允許MySQL DBA或開發(fā)人員將一系列等同的MyISAM表以邏輯方式組合在一起,并作為1個對象引用它們。對于諸如數(shù)據(jù)倉儲等VLDB環(huán)境十分適合。有時它以 MRG_MYISAM 名稱出現(xiàn)。
Archive 為大量很少引用的歷史、歸檔、或安全審計信息的存儲和檢索提供了好的解決方案。
Federated 能夠?qū)⒍鄠€分離的MySQL服務(wù)器鏈接起來,從多個物理服務(wù)器創(chuàng)建一個邏輯數(shù)據(jù)庫。十分適合于分布式環(huán)境或數(shù)據(jù)集市環(huán)境。
NDBCluster/Cluster/NDB MySQL的簇式數(shù)據(jù)庫引擎,尤其適合于具有高性能查找要求的應(yīng)用程序,這類查找需求還要求具有高的正常工作時間和可用性。
CSV 使用標(biāo)準(zhǔn)的CSV格式,由逗號隔開的文本文件,適應(yīng)于外部數(shù)據(jù)交換
Blackhole 它會接受數(shù)據(jù)但不保存,而且對任何檢索請求返回一個空集。它一般適應(yīng)于數(shù)據(jù)會被自動復(fù)制并不進行本地保存的分布式數(shù)據(jù)庫設(shè)計。(不確定的)似乎也可以用于臨時禁止/忽略對數(shù)據(jù)庫的應(yīng)用程序輸入。
Example 這是一個測試引擎,你可以創(chuàng)建一個這樣的表,但既不能寫入數(shù)據(jù),也不能檢索數(shù)據(jù)。它似乎是一個針對MySql開發(fā)者提供的示例引擎。網(wǎng)站建設(shè)中MySQL的表類型和存儲過程如上所述。
分享名稱:網(wǎng)站建設(shè)中MySQL的表類型和存儲過程
當(dāng)前地址:http://jinyejixie.com/news/31835.html
網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營銷seo公司;服務(wù)項目有網(wǎng)站建設(shè)等
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容