首頁  >  文章  >  資料庫  >  Mysql資料庫中的儲存引擎是什麼

Mysql資料庫中的儲存引擎是什麼

王林
王林轉載
2023-05-29 13:47:242215瀏覽

    儲存引擎

    什麼是儲存引擎?

    就像飛機和火箭中的引擎一樣,儲存引擎是資料庫中非常關鍵的組成部分。顯然不行,因為儲存引擎的使用必須基於特定的場景。而在Mysql中,儲存引擎也是一樣的,其沒有好壞之分。我們需要選擇適當的儲存引擎來適應不同的場景,才能做到最好。儲存引擎就是儲存資料、建立索引、更新/查詢資料等技術的實現方式。表類型可以被稱為儲存引擎,因為儲存引擎是基於表而非庫。

    Mysql的體系結構:

    Mysql的體系結構分為四層:

    MYsql的體系結構如下圖所示:

    Mysql資料庫中的儲存引擎是什麼

    #連線層

    最上層是一些客戶端和連結服務,主要完成一些類似連線處理,授權認證,及相關的安全方案,伺服器也會為安全存取的每個客戶端驗證它所具有的操作權限。

    服務層

    第二層架構主要完成大多數的核心服務功能,如SOL接口,並完成緩存的查詢,SOL的分析和優化,部分內建函數的執行。所有跨儲存引擎的功能也在這一層實現,如 流程、函數等。

    引擎層

    儲存引擎是MvSOL中負責資料儲存和提取的關鍵元件,伺服器與儲存引擎通信,使用API​​。根據需要選取適合的儲存引擎,因為不同的儲存引擎具有不同的功能。

    儲存層

    主要是將資料儲存在檔案系統之上:並完成與儲存引擎的互動。

    儲存引擎的檢視

    從MySQL 5.5開始,InnoDB儲存引擎成為預設的儲存引擎,當然還有其他多種儲存引擎可供選擇。之前預設的是Memory 儲存引擎。

    show engines;

    Mysql資料庫中的儲存引擎是什麼

    create table Course(
        Con int primary key auto_increment,
        Cname varchar(10),
        Cpon int,
        Ccredit int
    )
    
    show create table course;

    Mysql資料庫中的儲存引擎是什麼

    儲存引擎的指定

    例如,我們可以在建立表格的同時,指定此表的儲存引擎類型。

    create table test_mysql(
        name varchar(10),
        age int
    ) engine = Memory;

    Mysql資料庫中的儲存引擎是什麼

    儲存引擎的特點

    #這裡重點介紹以下InnoDB

    InnoDB介紹

    InnoDB是一種兼顧高可靠性和高效能的通用儲存引擎,在MvSOL 5.5 之後,InnoDB是預設的MvSOL儲存引擎。

    InnoDB特點
    • DML操作遵循ACID模型,支援交易;

    • ##行級鎖定,提高並發存取效能;

    • #支援外鍵FOREIGN KEY約束,保證資料的完整性與正確性:

     InnoDB檔案
    • #xxx.ibd:xxx代表的是表名,innoDB引擎的每個表都會對應這樣一個表空間文件,儲存該表的表結構(frm、sdi)、資料和索引。

    • 參數:innodb file per table

    Mysql資料庫中的儲存引擎是什麼

     

    最後用一張圖,來展示一下InnoDB 的邏輯儲存結構。

    Mysql資料庫中的儲存引擎是什麼

    Mysql資料庫中的儲存引擎是什麼

    總結:InnoDB 是支援交易的,而MyISAM不支援;InnoDB 是支援行鎖的,而MyISAM不支持,支援表鎖定;InnoDB 是支援外鍵的,而MyISAM不支援;

    儲存引擎的選擇

    Mysql資料庫中的儲存引擎是什麼

    以上是Mysql資料庫中的儲存引擎是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述:
    本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除