四虎国产精品永久地址998_chinesexxx少妇露脸_日本丁香久久综合国产精品_一区二区久久久久_四虎av影视_久久久久国产一区二区三区不卡

中培偉業IT資訊頻道
您現在的位置:首頁 > IT資訊 > 數據庫 > MySQL 存儲引擎有哪些?區別是什么?

MySQL 存儲引擎有哪些?區別是什么?

2020-07-15 16:02:37 | 來源:中培企業IT培訓網

存儲引擎是數據庫管理系統用來從數據庫創建,讀取和更新數據的軟件模塊。MySQL中有兩種類型的存儲引擎:事務性和非事務性。對于MySQL 5.5及更高版本,默認存儲引擎為InnoDB。在5.5版之前,MySQL的默認存儲引擎是MyISAM。那么MySQL 存儲引擎有哪些?區別是什么?其實關于MySQL 存儲引擎有九大類型,但是區別卻只有兩個,以下是詳細介紹。

  MySQL 存儲引擎有哪些?

  1、InnoDB

這是MySQL 5.5或更高版本的默認存儲引擎。它提供了事務安全表,支持外鍵引用完整性約束。它支持提交、回滾和緊急恢復功能來保護數據。它還支持行級鎖定。當在多用戶環境中使用時,它的“一致非鎖定讀取”提高了性能。它將數據存儲在集群索引中,從而減少了基于主鍵的查詢的I/O。

  2、MyISAM

該存儲引擎管理非事務性表,提供高速存儲和檢索,支持全文搜索。

  3、MEMORY

提供內存中的表,以前稱為堆。它在RAM中處理所有數據,以便比在磁盤上存儲數據更快地訪問。用于快速查找引用和其他相同的數據。

  4、MERGE

將多個類似的MyISAM表分組為一個表,可以處理非事務性表,默認情況下包括這些表。

  5、EXAMPLE

你可以使用此引擎創建表,但不能存儲或獲取數據。這樣做的目的是教開發人員如何編寫新的存儲引擎。

  6、ARCHIVE

用于存儲大量數據,不支持索引。

  7、CSV

在文本文件中以逗號分隔值格式存儲數據。

  8、BLACKHOLE

受要存儲的數據,但始終返回空。

  9、FEDERATED

將數據存儲在遠程數據庫中。

  MySQL 存儲引擎有哪些區別?

  MyISAM引擎:

  1、不支持事務

不支持事務,但是整個操作是原子性的。

  2、不支持外鍵

不支持外鍵,支持表鎖,每次所住的是整張表。

MyISAM的表鎖有讀鎖和寫鎖:

表共享讀鎖和表獨占寫鎖。在對MyISAM表進行讀操作時,不會阻塞其他用戶對同一張表的讀請求,但是會阻塞其他用戶對表的寫請求;對其進行寫操作時會阻塞對同一表讀操作和寫操作。

  3、一個MyISAM表有三個文件

一個MyISAM表有三個文件:索引文件,表結構文件,數據文件。

  4、采用非聚集索引

采用非聚集索引,索引文件的數據域存儲指向數據文件的指針。輔索引與主索引基本一致,但是輔索引不用保證唯一性。

  Innodb引擎:

  1、支持事務

支持事務,支持事務的四種隔離級別;是一種具有事務、回滾和崩潰修復能力的事務安全型表。

  2、支持行鎖和外鍵約束

支持行鎖和外鍵約束,因此可以支持寫并發

  3、一個Innodb表存儲在一個文件內

一個Innodb表存儲在一個文件內,也可能為多個,受操作系統文件大小的限制

  4、主鍵索引采用聚集索引

主鍵索引采用聚集索引,輔索引的數據域存儲主鍵的值;因此從輔索引查找數據,需要先通過輔索引找到主鍵值,再訪問主鍵索引;最好使用自增主鍵,防止插入數據時,為維持B+樹結構,文件的大調整。

以上就是關于MySQL 存儲引擎有哪些以及他們的區別是什么的全部內容介紹,想了解更多關于MySQL 的信息,請繼續關注中培偉業。

標簽: MySQL 數據庫
主站蜘蛛池模板: 嘉峪关市| 玉门市| 微山县| 昌都县| 杭锦旗| 苍南县| 延安市| 航空| 安塞县| 天柱县| 钦州市| 磴口县| 梁平县| 石台县| 阿巴嘎旗| 邢台市| 沙雅县| 瑞安市| 仪陇县| 河津市| 桑植县| 威宁| 望城县| 郓城县| 连平县| 万宁市| 轮台县| 正安县| 常德市| 常州市| 青浦区| 故城县| 西昌市| 信丰县| 阿合奇县| 蒙山县| 黄平县| 江西省| 舞阳县| 奉新县| 贵德县|