首頁  >  文章  >  資料庫  >  MySQL儲存引擎是什麼? (詳解)

MySQL儲存引擎是什麼? (詳解)

藏色散人
藏色散人原創
2018-09-10 17:00:122005瀏覽

本篇文章主要介紹什麼是MySQL儲存引擎。大家也可參考MySQL影片教學MySQL手冊來學習。

MySQL有多種儲存引擎,每種儲存引擎都有各自的優點和缺點,大家可以擇優選擇使用:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE 、CSV、BLACKHOLE。

MySQL支援數個儲存引擎作為不同表的類型的處理器。 MySQL儲存引擎包括處理事務安全表的引擎和處理非事務安全表的引擎:

   MyISAM管理非事務表。它提供高速儲存和檢索,以及全文搜尋能力。 MyISAM在所有MySQL配置裡被支持,它是預設的儲存引擎,除非你配置MySQL預設使用另外一個引擎。

  MEMORY儲存引擎提供「記憶體中」表。 MERGE儲存引擎允許集合將被處理相同的MyISAM表作為一個單獨的表。就像MyISAM一樣,MEMORY和MERGE儲存引擎處理非事務表,這兩個引擎也都被預設包含在MySQL中。

  註:MEMORY儲存引擎正式地被確定為HEAP引擎。

   InnoDB和BDB儲存引擎提供事務安全表。 BDB被包含在為支援它的作業系統發布的MySQL-Max二進位分發版裡。 InnoDB也預設被包含在所 有MySQL 5.1二進位分發版裡,你可以依照喜好透過設定MySQL來允許或禁止任一引擎。
   EXAMPLE儲存引擎是一個「存根」引擎,它不做什麼。你可以用這個引擎建立表,但沒有資料被儲存在其中或從其中檢索。這個引擎的目的是服務,在 MySQL原始碼中的一個例子,它示範說明如何開始編寫新儲存引擎。同樣,它的主要興趣是對開發者。

  NDB Cluster是被MySQL Cluster用來實現分割到多台電腦上的表的儲存引擎。它在MySQL-Max 5.1二進位分發版裡提供。這個儲存引擎目前只由Linux, Solaris, 和Mac OS X 支援。在未來的MySQL分發版中,我們想要加入其它平台對這個引擎的支持,包括Windows。

  ARCHIVE儲存引擎被用來無索引地,非常小地覆蓋儲存的大量資料。

  CSV儲存引擎將資料以逗號分隔的格式儲存在文字檔案中。

  BLACKHOLE儲存引擎接受但不儲存數據,並且檢索總是傳回一個空集。

  FEDERATED儲存引擎把資料存在遠端資料庫中。在MySQL 5.1中,它只和MySQL一起工作,使用MySQL C Client API。在未來的分發版中,我們想要讓它使用其它驅動器或客戶端連接方法連接到另外的資料來源。

  當你建立一個新表的時候,你可以透過新增一個ENGINE 或TYPE 選項到CREATE TABLE語句來告訴MySQL你要建立什麼類型的表:

 CREATE TABLE t (i INT) ENGINE = INNODB;
    CREATE TABLE t (i INT) TYPE = MEMORY;

雖然TYPE仍然在MySQL 5.1中被支持,現在ENGINE是首選的術語。

這篇文章就是關於MySQL儲存引擎的介紹,希望對有需要的朋友有一定的幫助!

以上是MySQL儲存引擎是什麼? (詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn