存儲引擎概念:不同的存儲機制、索引技巧、鎖定水平並且最終提供廣泛的不同的功能和能力
關系數據庫表是用於存儲和組織信息的數據結構,可以將表理解為由行和列組成的表格,類似於Excel的電子表格的形式。有的表簡單,有的表復雜,有的表根本不用來存儲任何長期的數據,有的表讀取時非常快,但是插入數據時去很差;而我們在實際開發過程中,就可能需要各種各樣的表,不同的表,就意味着存儲不同類型的數據,數據的處理上也會存在着差異,那么。對於MySQL來說,它提供了很多種類型的存儲引擎(或者說不通的表類型),我們可以根據對數據處理的需求,選擇不同的存儲引擎,從而最大限度的利用MySQL強大的功能。
//查看mysql支持的存儲引擎
show engines;
解釋下
engine:引擎 support:支持 comment:描述 transations:事務 XA:XA就是X/Open DTP定義的交易中間件與數據庫之間的接口規范
savepoints:保存點(savepoint)是事務過程中的一個邏輯點,用於取消部分事務,當結束事務時,會自動的刪除該事務中所定義的所有保存點。當執行rollback時,通過指定保存點可以回退到指定的點。
介紹一:InnoDB存儲引擎
描述:Supports transactions, row-level locking, and foreign keys
解釋:mysql默認的支持事務、行級鎖定和外鍵存儲引擎,最為強大,運用也最廣
介紹二:Federated存儲引擎
描述:Federated MySQL storage engine
解釋:聯合MySQL存儲引擎,默認關閉但可以開啟,自行百度
介紹三:MRG_MYISAM存儲引擎
描述:Collection of identical MyISAM tables
解釋:相同myisam表的集合
介紹四:MyISAM存儲引擎
描述:MyISAM storage engine
解釋:Myisam存儲引擎
介紹五:BLACKHOLE存儲引擎
描述:/dev/null storage engine (anything you write to it disappears)
解釋:dev/null存儲引擎(寫入它的任何內容都將消失)
介紹六:MEMORY存儲引擎
描述:基於哈希,存儲在內存中,對臨時表很有用
介紹七:PERFORMANCE_SCHEMA
MySQL Performance Schema 用於監視MySQL服務器,且運行時消耗很少的性能。Performance Schema 收集數據庫服務器性能參數,並且表的存儲引擎均為PERFORMANCE_SCHEMA,而用戶是不能創建存儲引擎為PERFORMANCE_SCHEMA的表。Performance Schema 具有以下特征:
Performance Schema 提供了一種在服務器運行時檢查服務器的內部執行的方法。它使用PERFORMANCE_SCHEMA存儲引擎和performance_schema數據庫實現。性能模式主要關注性能數據。這與用於檢查元數據的INFORMATION_SCHEMA不同。
Performance Schema 事件特定於MySQL服務器的給定實例。 Performance Schema 表被視為本地服務器,並且對其進行的更改不會被復制或寫入二進制日志。
Performance Schema 中的表是內存表,不使用磁盤存儲,在 datadir 的 performance_schema 目錄下,只有.frm表結構文件,沒有數據文件。表內容在服務器啟動時重新填充,並在服務器關閉時丟棄。
數據收集是通過修改服務器源代碼來實現的。 不同於其他功能(如復制或Event Scheduler),不存在與Performance Schema相關聯的單獨線程。
服務器監控持續不中斷地進行,花費很少。 開啟Performance Schema不會使服務器不可用。
從MySQL5.6開始,Performance Schema 默認打開,這里講述一些在數據庫使用當中PERFORMANCE_SCHEMA的一些比較常用的功能。具體的信息可以查看官方文檔