這一系列博客我將認真整理存儲引擎的內容和分類,已經如何選擇合適的存儲引擎。這裏先來做入門。
存儲引擎的概念是MySQL的特點,而且是一種插入式的存儲引擎的概念。這決定了MySQL數據庫中的表可以用不同的方式存儲,用戶可以根據自己的不同要求,選擇不同的存儲方式,是否進行事務處理等等。
- 我們可以查看MySQL數據庫支持的存儲引擎類型
查詢方法如下:
SHOW ENGINES;
數據庫中執行上面sql,結果顯示如下:關於上面查詢結果的解釋:
engine參數指存儲引擎名稱,support參數說明MySQL是否支持該類引擎,yes表示支持,default表示默認,
comment參數值對該引擎的評論,
transactions參數表示是否支持事務處理,yes表示支持,
XA參數表示是否分佈式交易處理的XA規範,yes表示支持,
savepoint參數表示是否支持保存點,以便事務回滾到保存點,yes表示支持。
從查詢結果上面看,MySQL一共支持9種存儲引擎呢,其中包括,myISAM,memory,innoDB等等,其中innoDB爲默認的存儲引擎,上面的顯示support屬性值爲default。
- MySQL中另外一個show語句也可以顯示支持的存儲引擎的信息。
SHOW VARIABLES LIKE 'have%';
查詢結果顯示如下:關於上面查詢結果的解釋:
第一列variable_name表示存儲引擎的名稱,第二列value表示MySQL的支持情況。yes表示支持,no表示不支持,disabled表示支持但還沒有開啓。variable_name列有取值have_innodb的記錄,對應value的值爲yes,這表示我現在的數據庫支持InnoDB的存儲引擎。
注意:
在創建表時,若沒有指定存儲引擎,表的存儲引擎將爲默認的存儲引擎。
- 當然我們也可以用show語句查看數據庫中的默認存儲引擎
語句代碼如下:
SHOW VARIABLES LIKE 'storage_engine';
結果顯示默認的存儲引擎爲InnoDB。storage( 'stɔːrɪdʒ),是存儲的意思。