mysql儲存引擎概述

2022-08-02 13:48:12 字數 1696 閱讀 7243

myisam 儲存引擎是mysql 預設的儲存引擎,也是目前mysql 使用最為廣泛的儲存引擎之一。

儲存引擎是需要在mysql 安裝的時候就必須和mysql 一起被編譯並同時被安裝的。

mysql 的外掛程式式儲存引擎主要包括myisam,innodb,ndb cluster,maria,falcon,memory

,archive,merge,federated 等,其中最著名而且使用最為廣泛的myisam 和innodb兩種儲存

引擎。myisam 儲存引擎簡介

每乙個表都被存放為三個以表名命名的物理檔案。存放表結構定義資訊的.frm 檔案,另外還

有.myd和.myi 檔案,分別存放了表的資料(.myd)和索引資料(.myi)

innodb 儲存引擎簡介

innodb 之所以能如此受寵,主要是在於其功能方面的較多特點:

1、支援事務安裝

2、資料多版本讀取

3、鎖定機制的改進

4、實現外來鍵

innodb 的物理結構分為兩大部分:

1、資料檔案(表資料和索引資料)

2、日誌檔案

選擇正確的儲存引擎

當設計基於mysql的應用時,你應該首先決定利用哪種儲存引擎來儲存你的資料。如果你不在設計階段考慮這個問題,你極有可能在後面的開發中面臨複雜的情況。你很可能發現預設的儲存引擎並沒有提供你需要的乙個特性,比如事務,或者你需要比myisam的表鎖定更細粒度的讀寫鎖定。

因為你可以在表級別來選擇儲存引擎,因此你需要對如何使用每個表以及每個表中存的資料有乙個清楚的認識。它不僅可以幫助你對於整個應用有乙個比較好的整體理解,同時也可以對它的增長規模有乙個估計。借助於這些資訊,你可開始決定利用哪些儲存引擎來完成這些任務了。

注:對於不同的表使用不同的儲存引擎並不是很必要。如果你可以為所有的表使用同乙個儲存引擎來完成既定的任務,那麼你將會發現你後面的工作要簡單很多。

儲存引擎選擇的考查點

儘管許多因素都可以對儲存引擎的選擇造成影響,它通常還是可以歸結為一些很基本的考查點。下面列出就是一些主要的考查點:

事務如果你的需要事務,那麼innodb是最穩定、並且整合度比較好的經過驗證的選擇。但是隨著時間的推進,我們也將會看到許多更有競爭力的事務型引擎出現。如果不需要事務,而只是執行一些基本的查詢和插入操作的話,myisam是乙個比較好的選擇。有時乙個應用的一些特定的元件(比如日誌)可能會歸入這類應用。

併發開發性需求的最好的衡量標準是你的工作量。如果你只量需要插入和寫操作的併發性的話,不管你相信不相信,myisam是乙個很不錯的選擇。如果你需要許多操作混合執行而互不影響的話,乙個支援行鎖的引擎將會是比較不錯的選擇。

備份對於常規備份的需求也可能成為影響你的表選擇的乙個因素。如果你的伺服器可以定時的關閉來備份的話,所有的儲存引擎在處理上基本都差不多。但是如果你需要執行乙個線上備份的話,選擇就不是那麼清晰了。第11章將會針對這個話題進行更詳細的描述。但是需要記住一點,如果選用了多種儲存引擎的話,將會增大備份和伺服器調優的複雜性。

故障恢復

特殊功能

最後,你有時可能會發現乙個應用依賴於一些特定的功能或者優化,而這些優化可能只有一些mysql的儲存引擎提供。比如,許多應用依賴於簇索引的優化。在這個時候,你的選擇就只有innodb和soliddb了。另一方面來說,只有myisam支援全文檢索。如果乙個儲存引擎只符合其中的一些條件,而不符合其他的,你就需要妥協或者找到乙個更聰明的設計方案了。你可能會經常遇到一種儲存引擎只符合你的眾多需求中的一些的情況

mysql儲存引擎概述

mysql儲存引擎特點 為表選擇儲存引擎 mysql create table test a int engine innodb 檢視有多少種儲存引擎 mysql show engines更改表的儲存引擎 mysql alter table tbl engine innodb 主要儲存引擎 inno...

MySQL儲存引擎概述

儲存引擎在mysql的體系架構中位於第三層,負責mysql中的資料的儲存和提取,是與檔案打交道的 子系統,它是根據mysql提供的檔案訪問層抽象介面定製的一種檔案訪問機制,這種機制就叫作儲存引 擎。使用show engines命令,就可以檢視當前資料庫支援的引擎資訊 兩種引擎該如何選擇?是否需要事務...

InnoDB儲存引擎概述 概述

重新整理記憶體池資料,保證記憶體快取的是最新的資料,將已修改的資料檔案重新整理到磁碟中,資料庫發生異常時innodb能恢復至正常執行狀態.負責將緩衝池中的資料非同步重新整理到磁碟,保證資料的一致性,包括髒頁的重新整理,合併插入緩衝,undo頁的 async io處理io請求,四種thread wri...