什麼是儲存引擎以及不同儲存引擎特點

2022-08-05 11:18:14 字數 800 閱讀 1893

以前一直玩oracle資料庫,整天圍著業務需求和執行計畫轉,剛剛接觸mysql看到儲存引擎不慎理解,相應會有與我相同人群存在,所以寫文以記之。

首先簡單從字面理解,想當是與磁碟打交道的,實際情況也是如此。乙個資料庫系統可以隨意切換不同的儲存引擎,也就是說隨意選擇寫磁碟或操作磁碟的方式,覺得還是很牛掰的,所以這裡看下mysql的體系結構。

mysql伺服器採用了多層設計和獨立模組,外掛程式式儲存引擎體系結構,允許將儲存引擎載入到正在運新的mysql伺服器中,圖中的pluggable storage engines部分。採用mysql伺服器體系結構,由於在儲存級別上(也就是pluggable storage engines)提供了一致和簡單的應用模型和api,應用程式程式設計人員和dba可不再考慮所有的底層實施細節。因此,儘管不同的儲存引擎具有不同的能力,應用程式是與之分離的。儲存引擎就司職與檔案系統打交道了。

到這裡對與儲存引擎的定位以及功能應該是基本了解的,接下來的疑問就是,有沒有必要。很有必要的,因為一下羅列的內容是儲存引擎處理的事情:

以上要求會在不同的需求中予以體現,通過單獨乙個系統實現是不可能的,以上特點有些本身就是相互矛盾的,魚和熊掌的問題。對以上內容做些選擇,形成的儲存引擎就是乙個外掛程式引擎了,某些特定的需求可以使用。如下圖,部分現有的儲存引擎以及基本特點:

至此,應該對儲存引擎有乙個直觀的印象了。對了,還有一點需要格外注意的: mysql中不同的表可以指定不同的儲存引擎,也就是說一套mysql伺服器可以同時使用n種不同的儲存引擎,甚至自己寫乙個。

什麼是儲存引擎?

關聯式資料庫表是用於儲存和組織資訊的資料結構,可以將表理解為由行和列組成的 類似於excel的電子 的形式。有的表簡單,有的表複雜,有的表根本不用來儲存任何長期的資料,有的表讀取時非常快,但是插入資料時去很差。而我們在實際開發過程中,就可能需要各種各樣的表,不同的表,就意味著儲存不同型別的資料,資料...

Mysql 儲存引擎之 MyISAM儲存引擎

myisam是預設儲存引擎。每個myisam在磁碟上儲存成三個檔案。frm檔案儲存表定義 myd檔案儲存資料 myi檔案儲存索引。要明確表示你想要用乙個myisam 請用engine表選項指出來 create table test myisam id int engine myisam 2 如下是m...

mysql儲存引擎 mysql儲存引擎簡介

精品推薦 什麼是儲存引擎 mysql儲存引擎是資料庫如何儲存資料 怎樣建立索引以及如何查詢更新資料等技術的實現方法,資料通過使用不同的技術儲存在檔案中,使用不同的儲存機制 索引方式來提供不同的功能。在mysql這種關係型資料中心來說,資料是以表的方式來儲存的,因此,簡單點來說,儲存引擎就是儲存和操作...