mysql的存儲引擎操作

2018-10-18 04:15 更新

一、分類(按照是否支持事務(wù):處理事務(wù)安全表的引擎和處理非事務(wù)安全表的引擎)

 存儲引擎類型     描述
MyISAM管理非事務(wù)表 高速存儲、檢索能力、全文檢索。默認(rèn),但可修改。
MEMORY(HEAP)管理非事務(wù)表 將相同結(jié)構(gòu)的MyISAM表合并為一個表。
InnoDB事務(wù)安全表 支持事務(wù),是為處理巨大數(shù)據(jù)量時的最大性能設(shè)計的,它的cpu效率可能是其他任何基于磁盤的關(guān)系的數(shù)據(jù)引擎所不能匹敵的。
EXAMPLE “存根”引擎,可以使用它來創(chuàng)建表,但是不會存儲數(shù)據(jù)和檢索數(shù)據(jù)。
NDB Cluster 分割多臺計算機(jī)上的表的存儲引擎。
ARCHIVE 適合存儲大量的、獨(dú)立的、作為歷史記錄的數(shù)據(jù)。
CSV         將以逗號分割的格式存儲在文件中。
BLOCKHOLE 不接受存儲并且檢索的數(shù)據(jù)是一個空集。
FEDERATED     講數(shù)據(jù)存儲在遠(yuǎn)程數(shù)據(jù)庫中。

二、事務(wù)安全表和非事務(wù)安全表的優(yōu)勢比較

    A:事務(wù)優(yōu)勢

    1.更安全,及時mysql崩潰或者遇到硬件問題,要么自動回復(fù),要么根據(jù)備份和事務(wù)日志來恢復(fù)。

    2.可以合并許多語句,并用commit語句同時全部接收他們(如果autocommit被禁止的話)。

    3.可以使用rollback來忽略你的改變(如果autocommit被禁止的話)。

    4.如果更新失敗,你的所有更新都會恢復(fù)到初始狀態(tài)(用非事務(wù)安全表,發(fā)生的該表都會永久的)。

    5.更好的保證數(shù)據(jù)的完整性。

    B:非事務(wù)優(yōu)勢

    1.更快

    2.接受更少的此磁盤空間

    3.執(zhí)行更新所需要更少的內(nèi)存。

    C:兩者比較

    1.為了更好的獲取結(jié)果,我們不應(yīng)該在一個事務(wù)中使用不同的表類型。

    2.可以在同一個事務(wù)中使用事務(wù)安全表和非事務(wù)安全表來獲取到兩者最好的情況。

三:MyISAM和InnoDB

    1:MyISAM

        a.數(shù)據(jù)存儲文件

            1.frm文件存儲表的定義

            2.MYD文件存儲數(shù)據(jù)

            3.MYI文件為索引文件

    2.InnoDB

        a.數(shù)據(jù)存儲文件

            1.frm文件存儲表的定義

            2.ibd文件存儲數(shù)據(jù)和索引 

 



以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號