mysql-03mysql存儲引擎

一丶什麼是存儲引擎

MySQL中的數據用各類不一樣的技術存儲在文件(或者內存)中。這些技術中的每一種技術都使用不一樣的存儲機制、索引技巧、鎖定水平而且最終提供普遍的不一樣的功能和能力。mysql

二丶mysql支持哪些存儲引擎

mysql5.6支持的存儲引擎包括InnoDB、MyISAM、MEMORY、CSV、BLACKHOLE、FEDERATED、MRG_MYISAM、ARCHIVE、PERFORMANCE_SCHEMA。其中NDB和InnoDB提供事務安全表,其餘存儲引擎都是非事務安全表。sql

2.1mysql存儲引擎主要四種以及特徵:

  1. Innodb:默認的存儲引擎 InnoDB 是一個事務安全的存儲引擎,它具有提交、回滾以及崩潰恢復的功能以保護用戶數據。支持事務,支持主鍵,行鎖,查詢速度較myisam慢 可是更安全,爲了保證數據的完整性,InnoDB 還支持外鍵約束。
  2. myisam:mysql老版本用的存儲引擎,有索引查找,因此訪問速度快,一般用於以讀爲主的數據場景,不支持事務,不支持外鍵
  3. memory:內存引擎(數據所有存在內存中),斷電或服務重啓信息都不在存在
  4. blackhole:不管存什麼 都立馬消失(黑洞),用於過濾數據

2.2命令獲取存儲引擎存取數據的特色

show engines;   可在數據庫中查看

2.3經常使用存儲引擎以及適用場景

InnoDB:用於事務處理應用程序,支持外鍵和行級鎖。若是應用對事物的完整性有比較高的要求,在併發條件下要求數據的一致性,數據操做除了插入和查詢以外,還包括不少更新和刪除操做,那麼InnoDB存儲引擎是比較合適的。InnoDB除了有效的下降由刪除和更新致使的鎖定,還能夠確保事務的完整提交和回滾,對於相似計費系統或者財務系統等對數據準確要求性比較高的系統都是合適的選擇。數據庫

MyISAM:若是應用是以讀操做和插入操做爲主,只有不多的更新和刪除操做,而且對事務的完整性、併發性要求不高,那麼能夠選擇這個存儲引擎。安全

Memory:將全部的數據保存在內存中,在須要快速定位記錄和其餘相似數據的環境下,能夠提供極快的訪問。Memory的缺陷是對錶的大小有限制,雖然數據庫由於異常終止的話數據能夠正常恢復,可是一旦數據庫關閉,存儲在內存中的數據都會丟失。併發

相關文章
相關標籤/搜索