1. 程式人生 > >mysql資料庫的引擎

mysql資料庫的引擎

附上官網截圖,mysql 的引擎有3種類型,前兩種是標準版和企業版支援:
mysql

MyISAM 和 InnoDB的選擇。

MyISAM適合:
(1)做很多count 的計算;
(2)插入不頻繁,查詢非常頻繁;
(3)沒有事務。

InnoDB適合:
(1)可靠性要求比較高,或者要求事務;
(2)表更新和查詢都相當的頻繁,並且表鎖定的機會比較大的情況指定資料引擎的建立
讓所有的靈活性成為可能的開關是提供給ANSI SQL的MySQL擴充套件——TYPE引數。MySQL能夠讓你在表格這一層指定資料庫引擎,所以它們有時候也指的是table formats。下面的示例程式碼表明瞭如何建立分別使用MyISAM、ISAM和HEAP引擎的表格。要注意,建立每個表格的程式碼是相同的,除了最後的 TYPE引數,這一引數用來指定資料引擎。


MyISAM 和 InnoDB的區別。

MyISAM是MYSQL5.5版本以前預設的儲存引擎:
基於傳統的ISAM型別,支援B-Tree,全文檢索,不是事務安全的、不支援外來鍵。不具有原子性。支援鎖表。
InnoDB是事務型引擎:
支援事務處理、外來鍵、行級鎖;而行級鎖只是where對它主鍵是有效,非主鍵的仍舊會鎖全表。


(1)看你的MySQL現在已提供什麼儲存引擎: mysql> show engines;
(2)看你的MySQL當前預設的儲存引擎: mysql> show variables like ‘%storage_engine%’;
(3)你要看某個表用了什麼引擎(在顯示結果裡引數engine後面的就表示該表當前用的儲存引擎): mysql> show create table 表名;

使用的 mysql8版本檢視資料庫引擎:
預設

參考資料:
https://baike.baidu.com/item/mySQL/471251?fr=aladdin#3