認識引擎

2018-01-06 00:59 更新

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

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

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

    A:事務優(yōu)勢

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

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

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

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

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

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

    1.更快

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

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

    C:兩者比較

    1.為了更好的獲取結果,我們不應該在一個事務中使用不同的表類型。

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

三: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ù)和索引 

 



以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號