0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

有哪些不同的MySQL數(shù)據(jù)庫引擎?

深圳市恒訊科技有限公司 ? 來源:深圳市恒訊科技有限公司 ? 作者:深圳市恒訊科技有 ? 2023-04-03 16:38 ? 次閱讀

數(shù)據(jù)庫引擎是MySQL組件,可以處理SQL操作,例如從數(shù)據(jù)庫創(chuàng)建、讀取和更新數(shù)據(jù)。MySQL中有兩種類型的引擎:事務(wù)性和非事務(wù)性。

1、事務(wù)型數(shù)據(jù)庫:在這種類型中,如果數(shù)據(jù)庫不完整,我們可以回滾對數(shù)據(jù)庫的寫入操作。這些操作稱為事務(wù)。主要是,現(xiàn)代引擎是事務(wù)性的。

2、非事務(wù)數(shù)據(jù)庫:與事務(wù)數(shù)據(jù)庫不同,它們不提供回滾/提交。相反,我們需要手動編寫代碼來執(zhí)行回滾操作。

在本文中,我們將了解InnoDB、MyISAM、MEMORY、MERGE、CSV和SEQUENCE引擎及其特性,以及它們的優(yōu)缺點。

一、InnoDB:InnoDB是DBMS MySQL和MariaDB的存儲引擎。它是MySQL 5.5及更高版本的默認(rèn)存儲引擎。它取代了MyISAM作為默認(rèn)引擎。

特征:

1、它提供標(biāo)準(zhǔn)的符合ACID的事務(wù)功能,以及外鍵支持。Oracle建議將InnoDB用于表。

2、它支持多版本并發(fā)控制、崩潰恢復(fù)和回滾操作。由于行級鎖定,多用戶性能成為可能。

3、它也用于MariaDB服務(wù)器。為了維護數(shù)據(jù)的完整性和安全性,InnoDB支持外鍵約束。

4、InnoDB支持緩存數(shù)據(jù)和索引的緩沖區(qū)。

5、它提供了一種表鎖定方法,這意味著一次只有一個用戶可以更改表。

優(yōu)點:

1、支持ACID(原子性、一致性、隔離性和持久性)屬性以保護用戶數(shù)據(jù)。

2、通過Oracle風(fēng)格的高性能和一致讀取訪問多個用戶。

3、支持使用有助于一致更新、插入和刪除操作的外鍵。此外,它有助于維護數(shù)據(jù)庫表內(nèi)容的完整性。

缺點:

1、不支持全文搜索。

2、如果性能是優(yōu)先考慮的,那么它就不會被使用,因為它比MyISAM 慢。

3、外鍵關(guān)系的使用使其使用起來很復(fù)雜。

二、MyISAM:是MySQL DBMS 5.5之前版本的默認(rèn)引擎。MyISAM是一個高速存儲和檢索的存儲引擎。它不支持交易。它很容易在系統(tǒng)之間復(fù)制,并且數(shù)據(jù)占用空間小。主要用于Web和數(shù)據(jù)倉庫。

特征:

1、MyISAM存儲在3個文件中:.frm–存儲表格式,.MYD–數(shù)據(jù)文件,.MYI–索引文件。

2、它支持三種存儲格式:固定、動態(tài)和壓縮。

3、最大密鑰長度為1000字節(jié)。

4、每個表的最大索引數(shù)和每個索引的列數(shù)分別為64和16。

優(yōu)點:

1、MyISAM比其他引擎更簡單。

2、它比任何其他通用數(shù)據(jù)庫引擎都快,它還提供全文搜索

缺點:

1、它很容易導(dǎo)致表損壞。但是,我們可以使用REPAIR TABLE查詢來恢復(fù)它。

2、它不支持外鍵約束或事務(wù)。

三、CSV:用于在文本文件中存儲CSV格式。它總是被編譯到MySQL 服務(wù)器中。它重量輕,可以很容易地導(dǎo)入到電子表格程序中。

特征:

1、CSV表使用CSV格式。因此,它可用于數(shù)據(jù)交換,例如,使用電子表格。

2、即使MySQL服務(wù)器已關(guān)閉,也可以使用標(biāo)準(zhǔn)文件編輯器編輯數(shù)據(jù)

3、MySQL服務(wù)器海量數(shù)據(jù)的瞬時加載。

優(yōu)點:

1、在創(chuàng)建CSV文件后,將創(chuàng)建圖元文件來存儲表的狀態(tài)和表中存在的行數(shù)。

2、數(shù)據(jù)使用通用分隔值格式存儲在文本文件中。

缺點:

1、CSV引擎不支持索引。

2、它不支持分區(qū)。

3、它必須在所有列上都具有NOT NULL屬性。

四、MERGE:使用MERGE引擎創(chuàng)建的表用于輕松處理大量數(shù)據(jù)。它是一組相同的MyISAM表,可以作為一個表使用。因此,它也被稱為 MRG_MyISAM引擎,它適用于數(shù)據(jù)倉庫環(huán)境。

特征:

1、它是在MySQL 3.23.25 版本中引入的。

2、UNION 和INSERT_METHOD是MERGE表的兩個獨特功能。

3、MERGE表沒有PRIMARY KEY或UNIQUE索引,因為它們不能對所有表強制執(zhí)行唯一性。

優(yōu)點:

1、它是一組相同的MyISAM表,可以用作一個表。記憶因此得以保存。

2、它可以對單個表執(zhí)行最有效的修復(fù),而不是修復(fù)通過合并這些單個表而形成的單個大表。

3、與MyISAM表不同,合并表不受操作系統(tǒng)文件大小的限制。

缺點:

1、只有相同的MyISAM表才能用于合并。

2、如果MERGE表是非臨時的,則合并表必須是非臨時的。如果 MERGE表是臨時的,MyISAM表可以是臨時表和非臨時表的混合。

3、某些MyISAM功能在MERGE表中不可用。

五、MEMORY:它被認(rèn)為是通常用于在內(nèi)存中創(chuàng)建臨時表(也稱為 HEAP)的最快引擎。因此,當(dāng)數(shù)據(jù)庫重新啟動時,數(shù)據(jù)會丟失。它是非事務(wù)性的。它對于快速查找參考資料和其他識別數(shù)據(jù)很有用。它將所有數(shù)據(jù)存儲在RAM中以便更快地訪問,而不是將數(shù)據(jù)存儲在磁盤中。它廣泛用于表中數(shù)據(jù)的只讀緩存或臨時使用。

特征:

1、它不會在磁盤上創(chuàng)建任何文件。

2、MEMORY表不能包含BLOB或TEXT列。

3、支持AUTO_INCREMENT列。

4、VARCHAR使用固定長度存儲,即它使用固定長度的行存儲格式。

優(yōu)點:

1、數(shù)據(jù)被加密,通過加密功能在服務(wù)器中實現(xiàn)。

2、支持B樹索引。

3、為客戶端之間的低爭用提供低級鎖定和多線程操作。

缺點:

1、MEMORY表不能分區(qū)。

2、如果從MEMORY表中刪除單個行,則無法回收內(nèi)存。

六、SEQUENCE:它是用于創(chuàng)建具有給定初始值、結(jié)束值和增量值的正整數(shù)的升序或降序序列的事務(wù)引擎。它是只讀的并且支持XA。

特征:

與 MEMORY 數(shù)據(jù)庫引擎一樣,它不會在磁盤上創(chuàng)建任何文件。

它會在我們需要時自動創(chuàng)建虛擬表。無法顯式創(chuàng)建 SEQUENCE 表。

該引擎對連接和子查詢很有用。

優(yōu)點:

1、SEQUENCE引擎未綁定到表。因此,我們也可以將它們用于任何其他目的。

2表格實施的靈活性。

缺點:

1、AUTO_INCREMENT 功能需要額外編程,默認(rèn)情況下在引擎中不可用。

2、多個并行會話處于活動狀態(tài)時出現(xiàn)并發(fā)問題。

以上是MySQL數(shù)據(jù)庫引擎不同類型的介紹,希望能幫助到大家參考!

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • SQL
    SQL
    +關(guān)注

    關(guān)注

    1

    文章

    779

    瀏覽量

    44687
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3879

    瀏覽量

    65516
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    840

    瀏覽量

    27290
收藏 0人收藏

    評論

    相關(guān)推薦

    工業(yè)智能網(wǎng)關(guān)采集能耗數(shù)據(jù)對接到MySQL數(shù)據(jù)庫

    在工業(yè)生產(chǎn)中,對能耗數(shù)據(jù)的有效采集和管理對于企業(yè)的能源優(yōu)化和成本控制至關(guān)重要。利用工業(yè)智能網(wǎng)關(guān)將能耗數(shù)據(jù)采集并對接到MySQL數(shù)據(jù)庫,能夠?qū)崿F(xiàn)數(shù)據(jù)
    的頭像 發(fā)表于 02-26 13:56 ?311次閱讀
    工業(yè)智能網(wǎng)關(guān)采集能耗<b class='flag-5'>數(shù)據(jù)</b>對接到<b class='flag-5'>MySQL</b><b class='flag-5'>數(shù)據(jù)庫</b>

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)——MySQL數(shù)據(jù)庫誤刪除表記錄的數(shù)據(jù)恢復(fù)案例

    本地服務(wù)器,安裝的windows server操作系統(tǒng)。 操作系統(tǒng)上部署MySQL單實例,引擎類型為innodb,表空間類型為獨立表空間。該MySQL數(shù)據(jù)庫沒有備份,未開啟binlo
    的頭像 發(fā)表于 02-22 09:44 ?388次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)——<b class='flag-5'>MySQL</b><b class='flag-5'>數(shù)據(jù)庫</b>誤刪除表記錄的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    從Delphi、C++ Builder和Lazarus連接到MySQL數(shù)據(jù)庫

    ? 從 Delphi、C++ Builder 和 Lazarus 連接到 MySQL 數(shù)據(jù)庫 MySQL 數(shù)據(jù)訪問組件(MyDAC)是一個組件
    的頭像 發(fā)表于 01-20 13:47 ?456次閱讀
    從Delphi、C++ Builder和Lazarus連接到<b class='flag-5'>MySQL</b><b class='flag-5'>數(shù)據(jù)庫</b>

    適用于MySQL和MariaDB的Python連接器:可靠的MySQL數(shù)據(jù)連接器和數(shù)據(jù)庫

    和 Linux 的 wheel 包分發(fā)。 直接連接 該解決方案使您能夠通過 TCP/IP 建立與 MySQL 或者 MariaDB 數(shù)據(jù)庫服務(wù)器的直接連接,而無需數(shù)據(jù)庫客戶端。另外
    的頭像 發(fā)表于 01-17 12:18 ?324次閱讀
    適用于<b class='flag-5'>MySQL</b>和MariaDB的Python連接器:可靠的<b class='flag-5'>MySQL</b><b class='flag-5'>數(shù)據(jù)</b>連接器和<b class='flag-5'>數(shù)據(jù)庫</b>

    分布式云化數(shù)據(jù)庫哪些類型

    分布式云化數(shù)據(jù)庫哪些類型?分布式云化數(shù)據(jù)庫主要類型包括:關(guān)系型分布式數(shù)據(jù)庫、非關(guān)系型分布式數(shù)據(jù)庫、新SQL分布式
    的頭像 發(fā)表于 01-15 09:43 ?307次閱讀

    MySQL數(shù)據(jù)庫的安裝

    MySQL數(shù)據(jù)庫的安裝 【一】各種數(shù)據(jù)庫的端口 MySQL :3306 Redis :6379 MongoDB :27017 Django :8000 flask :5000 【二】
    的頭像 發(fā)表于 01-14 11:25 ?373次閱讀
    <b class='flag-5'>MySQL</b><b class='flag-5'>數(shù)據(jù)庫</b>的安裝

    數(shù)據(jù)庫是哪種數(shù)據(jù)庫類型?

    數(shù)據(jù)庫是一種部署在虛擬計算環(huán)境中的數(shù)據(jù)庫,它融合了云計算的彈性和可擴展性,為用戶提供高效、靈活的數(shù)據(jù)庫服務(wù)。云數(shù)據(jù)庫主要分為兩大類:關(guān)系型數(shù)據(jù)庫
    的頭像 發(fā)表于 01-07 10:22 ?326次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Mysql數(shù)據(jù)庫表記錄丟失的數(shù)據(jù)恢復(fù)流程

    Mysql數(shù)據(jù)庫故障: Mysql數(shù)據(jù)庫表記錄丟失。 Mysql數(shù)據(jù)庫故障表現(xiàn): 1、
    的頭像 發(fā)表于 12-16 11:05 ?435次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—<b class='flag-5'>Mysql</b><b class='flag-5'>數(shù)據(jù)庫</b>表記錄丟失的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)流程

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MYSQL數(shù)據(jù)庫ibdata1文件損壞的數(shù)據(jù)恢復(fù)案例

    mysql數(shù)據(jù)庫故障: mysql數(shù)據(jù)庫文件ibdata1、MYI、MYD損壞。 故障表現(xiàn):1、數(shù)據(jù)庫無法進行查詢等操作;2、使用my
    的頭像 發(fā)表于 12-09 11:05 ?412次閱讀

    香港云服務(wù)器怎么部署MySQL數(shù)據(jù)庫?

    在香港云服務(wù)器上部署MySQL數(shù)據(jù)庫的步驟如下: 步驟 1: 更新軟件包列表 首先,確保軟件包列表是最新的。在終端中執(zhí)行以下命令: sudo apt update 步驟 2: 安裝 MySQL
    的頭像 發(fā)表于 11-14 16:15 ?408次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—通過拼接數(shù)據(jù)庫碎片恢復(fù)SQLserver數(shù)據(jù)庫

    一個運行在存儲上的SQLServer數(shù)據(jù)庫1000多個文件,大小幾十TB。數(shù)據(jù)庫每10天生成一個NDF文件,每個NDF幾百GB大小。數(shù)據(jù)庫包含兩個LDF文件。 存儲損壞,
    的頭像 發(fā)表于 10-31 13:21 ?533次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—通過拼接<b class='flag-5'>數(shù)據(jù)庫</b>碎片恢復(fù)SQLserver<b class='flag-5'>數(shù)據(jù)庫</b>

    恒訊科技分析:云數(shù)據(jù)庫mysql何優(yōu)缺點?

    的基礎(chǔ)。下面,小編就詳細(xì)給大家分析下云數(shù)據(jù)庫mysql何優(yōu)缺點?一、云數(shù)據(jù)庫mysql的優(yōu)點:1、總成本采用云
    的頭像 發(fā)表于 10-23 15:08 ?366次閱讀
    恒訊科技分析:云<b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>mysql</b><b class='flag-5'>有</b>何優(yōu)缺點?

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫出現(xiàn)823錯誤的數(shù)據(jù)恢復(fù)案例

    SQL Server數(shù)據(jù)庫故障: SQL Server附加數(shù)據(jù)庫出現(xiàn)錯誤823,附加數(shù)據(jù)庫失敗。數(shù)據(jù)庫沒有備份,無法通過備份恢復(fù)數(shù)據(jù)庫。
    的頭像 發(fā)表于 09-20 11:46 ?542次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—SQL Server<b class='flag-5'>數(shù)據(jù)庫</b>出現(xiàn)823錯誤的<b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例

    華納云:MySQL初始化操作如何創(chuàng)建新的數(shù)據(jù)庫

    要在MySQL中創(chuàng)建一個新的數(shù)據(jù)庫,可以按照以下步驟進行操作: 登錄到MySQL數(shù)據(jù)庫管理系統(tǒng)中。可以使用MySQL命令行客戶端或者圖形化工
    的頭像 發(fā)表于 09-04 14:30 ?426次閱讀

    恒訊科技分析:跨境電商網(wǎng)站哪些數(shù)據(jù)庫系統(tǒng)是推薦使用的?

    對于跨境電商網(wǎng)站,數(shù)據(jù)庫系統(tǒng)的選擇非常關(guān)鍵,以下是一些推薦使用的數(shù)據(jù)庫系統(tǒng): 1、MySQLMySQL是一個流行的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng)
    的頭像 發(fā)表于 08-12 15:01 ?621次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品