什么是mysql存儲引擎

mysql中,存儲引擎是數據庫底層軟件組件,簡單來說就是指表的類型,它決定了表在計算機中的存儲方式。不同的存儲引擎提供不同的存儲機制、索引技巧、鎖定水平等功能,使用不同的存儲引擎還可以獲得特定的功能。

什么是mysql存儲引擎

本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。

數據庫存儲引擎是數據庫底層軟件組件,數據庫管理系統(tǒng)使用數據引擎進行創(chuàng)建、查詢、更新和刪除數據操作。簡而言之,存儲引擎就是指表的類型。

數據庫的存儲引擎決定了表在計算機中的存儲方式。不同的存儲引擎提供不同的存儲機制、索引技巧、鎖定水平等功能,使用不同的存儲引擎還可以獲得特定的功能。

在MySQL中,存儲引擎是以插件的形式運行的。MySQL 提供了多個不同的存儲引擎,包括處理事務安全表的引擎和處理非事務安全表的引擎。在 MySQL 中,不需要在整個服務器中使用同一種存儲引擎,針對具體的要求,可以對每一個表使用不同的存儲引擎。

MySQL 5.7 支持的存儲引擎有 InnoDB、MyISAM、Memory、Merge、Archive、CSV、BLACKHOLE 等。可以使用SHOW ENGINES;語句查看系統(tǒng)所支持的引擎類型,結果如圖所示。

什么是mysql存儲引擎

Support 列的值表示某種引擎是否能使用,YES表示可以使用,NO表示不能使用,DEFAULT表示該引擎為當前默認的存儲引擎。

下面簡要描寫幾種存儲引擎,后面會對其中的幾種(主要是 InnoDB 和 MyISAM )進行詳細講解。像 NDB 這樣的需要更多擴展性的討論,這超出了本教程的介紹范疇,所以在教程后面對它們不會介紹太多。

表 1 MySQL 的存儲引擎
存儲引擎 描述
ARCHIVE 用于數據存檔的引擎,數據被插入后就不能在修改了,且不支持索引。
CSV 在存儲數據時,會以逗號作為數據項之間的分隔符。
BLACKHOLE 會丟棄寫操作,該操作會返回空內容。
FEDERATED 將數據存儲在遠程數據庫中,用來訪問遠程表的存儲引擎。
InnoDB 具備外鍵支持功能的事務處理引擎
MEMORY 置于內存的表
MERGE 用來管理由多個 MyISAM 表構成的表集合
MyISAM 主要的非事務處理存儲引擎
NDB MySQL 集群專用存儲引擎

有幾種存儲引擎的名字還有同義詞,例如,MRG_MyISAM 和 NDBCLUSTER 分別是 MERGE 和 NDB 的同義詞。存儲引擎 MEMORY 和 InnoDB 在早期分別稱為 HEAP 和 Innobase。雖然后面兩個名字仍能被識別,但是已經被廢棄了。

【相關推薦:mysql視頻教程

以上就是什么是

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享