Mysql之數據庫存儲引擎
阿新 • • 發佈:2018-01-02
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之數據庫存儲引擎