MySQL 資料庫儲存引擎區別

2021-09-28 17:51:55 字數 1275 閱讀 9793

【儲存引擎】mysql中的資料用各種不同的技術

儲存在檔案(或者記憶體)中。這些技術中的每一種技術都使用不同的儲存機制、索引技巧、鎖定水平並且最終提供廣泛的不同的功能和能力。通過選擇不同的技術,你能夠獲得額外的速度或者功能,從而改善你的應用的整體功能。

mysql的儲存引擎是針對表進行設定的,乙個庫的不同表可以設定不同的儲存引擎,mysql預設支援多種儲存引擎,以適用不同領域的資料庫應用需要。

主要的幾個資料庫引擎如下:

5.5之前預設的儲存引擎

基於isam儲存引擎,並對其進行擴充套件

不支援事務、不支援外來鍵,表級鎖,記憶體和硬碟空間佔用率低

插入資料快,空間和記憶體使用比較低,對事務完整性沒有要求,以select、insert為主的應用基本上都可以使用這個引擎 

如果表主要是用於插入新記錄和讀出記錄,那麼選擇myisam能實現處理高效率。

如果應用的完整性、併發性要求比 較低,也可以使用。

5.5之後預設的儲存引擎,使用最廣泛

支援事務處理,支援外來鍵,行級鎖,支援崩潰修復能力和併發控制

劣勢在於寫的處理效率相對較低,並且會占用更多的磁碟空間以保留資料和索引

如果需要對事務的完整性要求比較高(比如銀行),要求實現併發控制(比如售票),那選擇innodb有很大的優勢。

如果需要頻繁的更新、刪除操作的資料庫,也可以選擇innodb,因為支援事務的提交(commit)和回滾(rollback)。

所有的資料都在記憶體中,資料的處理速度快,但是安全性不高

預設使用hash索引

一旦資料庫服務重啟或關閉,表中的資料就會丟失

如果需要很快的讀寫速度,對資料的安全性要求較低,可以選擇memoey

merge儲存引擎是一組myisam表組合,這些myisam表結構完全相同。

merge表本身沒有資料

對merge表的crud操作都是通過內部的myisam表進行的

不同儲存引擎,引數:

其中innodb 和 myisam之間的區別:

innodb支援事物,而myisam不支援事物

innodb支援行級鎖,而myisam支援表級鎖

innodb支援mvcc, 而myisam不支援

4innodb支援外來鍵,而myisam不支援

5innodb不支援全文索引,而myisam支援

參考:mysql資料庫儲存引擎及區別

資料庫 MySQL儲存引擎的區別

mysql資料庫中,最常用的兩種引擎是innodb和myisam。innodb是mysql的預設儲存引擎。一 事務處理上方面 myisam強調的是效能,查詢的速度比innodb型別更快,但是不提供事務支援,innodb提供事務支援事務。二 外來鍵 myisam不支援外來鍵,innodb支援外來鍵。三...

Mysql資料庫儲存引擎

儲存引擎是什麼?mysql中的資料用各種不同的技術儲存在檔案 或者記憶體 中。這些技術中的每一種技術都使用不同的儲存機制 索引技巧 鎖定水平並且最終提供廣泛的不同的功能和能力。通過選擇不同的技術,你能夠獲得額外的速度或者功能,從而改善你的應用的整體功能。例如,如果你在研究大量的臨時資料,你也許需要使...

資料庫 mysql儲存引擎

mysql常用的四種引擎的介紹 1 myisam儲存引擎 不支援事務 也不支援外來鍵,優勢是訪問速度快,對事務完整性沒有要求或者以select,insert為主的應用基本上可以用這個引擎來建立表,適合寫多的情況。frm儲存當前資料表的結構,myd儲存當前表的資料,myi儲存當前資料表的索引 支援表級...