电竞比分网-中国电竞赛事及体育赛事平台

分享

MySQL 中三種數(shù)據(jù)表的對比

 david.tao 2006-09-27
從我的經(jīng)驗談?wù)凪yISAM、InnoDB、BDB三種數(shù)據(jù)表的優(yōu)缺點


http://hknng./hknng/archive.php/article/114.html

MyISAM
優(yōu)點:速度快,磁盤空間占用少;某個庫或表的磁盤占用情況既可以通過操作系統(tǒng)查相應(yīng)的文件(夾)的大小得知,也可以通過SQL語句SHOW TABLE STATUS查得
缺點:沒有數(shù)據(jù)完整性機制,即不支持事務(wù)和外鍵

InnoDB
優(yōu)點:支持事務(wù)和外鍵,數(shù)據(jù)完整性機制比較完備;可以用SHOW TABLE STATUS查得某個庫或表的磁盤占用
缺點:速度超慢,磁盤空間占用多;所有庫都存于一個(通常情況)或數(shù)個文件中,無法通過操作系統(tǒng)了解某個庫或表的占用空間

BDB
優(yōu)點:支持事務(wù),不支持外鍵,由于在事務(wù)支持的基礎(chǔ)上,外鍵可以在數(shù)據(jù)庫的客戶端(可能是最終客戶的服務(wù)器端,例如php)間接實現(xiàn),所以數(shù)據(jù)完整性仍然是有保障的;
缺點:速度慢,磁盤占用多;不能通過SHOW TABLE STATUS查詢某個庫或表的空間占用;用操作系統(tǒng)可了解庫相應(yīng)的文件夾,或表相應(yīng)的文件的大小,但由于BDB表總是還要產(chǎn)生log文件,而實際的磁盤占用應(yīng)該把log文件也包含在內(nèi),所以用操作系統(tǒng)查得某庫或表的大小總是小于實際占用空間。


最早開始做SMCCom,看上了InnoDB的完美的數(shù)據(jù)完整性。微量數(shù)據(jù)測試時,是看不出它的蝸牛速度的,直到某日導(dǎo)入豬窩的數(shù)據(jù)庫(帖子3萬余條記錄)測試,就原形畢露了。

但是繼續(xù)傾向于向數(shù)據(jù)完整性尋求解決,于是又嘗試BDB。經(jīng)過與MyISAM的速度對比,發(fā)現(xiàn)相差不大,于是就投入測試。

直到今天發(fā)現(xiàn)BDB的磁盤占用比MyISAM要大約2倍,考慮到網(wǎng)站轉(zhuǎn)成UTF-8編碼后數(shù)據(jù)量又要增加1/2左右,而數(shù)據(jù)查詢和更新請求非常稀疏,于是決定轉(zhuǎn)用MyISAM了。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多