我們在 MySQL 入門篇主要介紹了基本的 SQL 命令、資料型別和函式,在區域性以上知識後,你就可以進行 MySQL 的開發工作了,但是如果要成為一個合格的開發人員,你還要具備一些更高階的技能,下面我們就來探討一下 MySQL 都需要哪些高階的技能
MySQL 儲存引擎
儲存引擎概述
資料庫最核心的一點就是用來儲存資料,資料儲存就避免不了和磁碟打交道。那麼資料以哪種方式進行儲存,如何儲存是儲存的關鍵所在。所以儲存引擎就相當於是資料儲存的發動機,來驅動資料在磁碟層面進行儲存。
MySQL 的架構可以按照三層模式來理解
儲存引擎也是 MySQL 的組建,它是一種軟體,它所能做的和支援的功能主要有
併發
支援事務
完整性約束
物理儲存
支援索引
效能幫助
MySQL 預設支援多種儲存引擎,來適用不同資料庫應用,使用者可以根據需要選擇合適的儲存引擎,下面是 MySQL 支援的儲存引擎
MyISAM
InnoDB
BDB
MEMORY
MERGE
EXAMPLE
NDB Cluster
ARCHIVE
CSV
BLACKHOLE
FEDERATED
預設情況下,如果建立表不指定儲存引擎,會使用預設的儲存引擎,如果要修改預設的儲存引擎,那麼就可以在引數檔案中設定 default-table-type,能夠檢視當前的儲存引擎
show variables like ‘table_type’;
複製程式碼
奇怪,為什麼沒有了呢?網上求證一下,在 5.5.3 取消了這個引數
可以通過下面兩種方法查詢當前資料庫支援的儲存引擎
show engines \g
複製程式碼
在建立新表的時候,可以通過增加 ENGINE 關鍵字設定新建表的儲存引擎。
create table cxuan002(id int(10),name varchar(20)) engine = MyISAM;
複製程式碼
上圖我們指定了 MyISAM 的儲存引擎。
如果你不知道表的儲存引擎怎麼辦?你可以通過 show create table 來檢視
如果不指定儲存引擎的話,從MySQL 5.1 版本之後,MySQL 的預設內建儲存引擎已經是 InnoDB了。建一張表看一下
作者:程式設計師cxuan
連結:juejin.im/post/685457…
來源:掘金
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。
本作品採用《CC 協議》,轉載必須註明作者和本文連結