1. 程式人生 > >Mysql之數據庫存儲引擎

Mysql之數據庫存儲引擎

merge orm err sel 處理 刪除 軟件 系統 基於

一、數據庫存儲引擎介紹

數據庫存儲引擎是數據庫底層軟件組件,數據庫管理系統(DBMS)使用數據庫存儲引擎進行創建、查詢、更新和刪除數據操作。不同的存儲引擎提供不同

的存儲機制、索引技巧、鎖定水平等功能,使用不同的存儲引擎,還可以獲得特定的功能。

二、Mysql數據庫存儲引擎介紹

Mysql提供了多個不同的存儲引擎,包括處理事務安全表的引擎和處理非事務安全表的引擎。在Mysql中,不需要在整個服務器中使用一種存儲引擎,針對

具體的業務和場景,可以對每一個表使用不同的存儲引擎。在Mysql5.7中支持的存儲引擎有:InnoDB、MyISAM、Memory、Merge、Archive、Federated、CSV、BLACKHOLE等。

1.使用show engines語句查看系統所支持的引擎類型

  

mysql> show engines\G;
*************************** 1. row ***************************
      Engine: MRG_MYISAM
     Support: YES
     Comment: Collection of identical MyISAM tables
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 2. row ***************************
      Engine: CSV
     Support: YES
     Comment: CSV storage engine
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 3. row ***************************
      Engine: MyISAM
     Support: DEFAULT
     Comment: Default engine as of MySQL 3.23 with great performance
Transactions: NO
          XA: NO
  Savepoints: NO
*************************** 4. row ***************************
      Engine: InnoDB
     Support: YES
     Comment: Supports transactions, row-level locking, and foreign keys
Transactions: YES
          XA: YES
  Savepoints: YES
*************************** 5. row ***************************
      Engine: MEMORY
     Support: YES
     Comment: Hash based, stored in memory, useful for temporary tables
Transactions: NO
          XA: NO
  Savepoints: NO
5 rows in set (0.00 sec)

ERROR: 
No query specified
#support 列的值表示當前數據庫管理系統支持的存儲引擎是否能使用:YES表示可以使用,NO表示不能使用。DEFAULT表示該存儲引擎是數據庫管理系統默認使用的存儲引擎

  

三、InnoDB存儲引擎特點

InnoDB是事務型數據庫的首選存儲引擎,支持事務安全表,支持行鎖定和外鍵,InnoDB給Mysql提供了具有提交、回滾和崩潰恢復能力的事務安全存儲引擎。InnoDB鎖定在行級並且也在select 語句中提供了一個類似oracle的非鎖定讀,增加了多用戶部署和性能

四、MyISAM存儲引擎特點

MyISAM是基於ISAM的存儲引擎,並對其進行擴展。它是在Web、數據存儲和其他應用環境下最常用的存儲引擎之一。MyISAM擁有較高的插入、查詢速度、但不支持事務。

Mysql之數據庫存儲引擎