第3章 MySQL 儲存引擎簡介

2021-08-27 16:10:12 字數 950 閱讀 1141

mysql 在5.1(不包括)之前的版本中,儲存引擎是需要在mysql 安裝的時候就必須和mysql 一起被編譯並同時被安裝的。也就是說,5.1 之前的版本中,雖然儲存引擎層和sql層的耦合已經非常少了,基本上完全是通過介面來實現互動,但是這兩層之間仍然是沒辦法分離的,即使在安裝的時候也是一樣。

mysql 的外掛程式式儲存引擎主要包括myisam,innodb,ndb cluster,maria,falcon,memory,archive,merge,federated 等,其中最著名而且使用最為廣泛的myisam 和innodb兩種儲存引擎。myisam 是mysql 最早的isam 儲存引擎的公升級版本,也是mysql 預設的儲存引擎。而innodb 實際上並不是mysq 公司的,而是第三方軟體公司innobase(在2005 年被oracle 公司所收購)所開發,其最大的特點是提供了事務控制等特性, 所以使用者也非常廣泛。

其他的一些儲存引擎相對來說使用場景要稍微少一些,都是應用於某些特定的場景,如ndb cluster 雖然也支援事務,但是主要是用於分布式環境,屬於乙個share nothing 的分布式資料庫儲存引擎。maria 是mysql 最新開發(還沒有發布最終的ga 版本)的對myisam的公升級版儲存引擎,falcon 是mysql 公司自行研發的為了替代當前的innodb 儲存引擎的一款帶有事務等高階特性的資料庫儲存引擎,目前正在研發階段。memory 儲存引擎所有資料和索引均儲存於記憶體中,所以主要是用於一些臨時表,或者對效能要求極高,但是允許在資料crash 的時候丟失資料的特定場景下。archive 是乙個資料經過高比例壓縮存放的儲存引擎,主要用於存放過期而且很少訪問的歷史資訊,不支援索引。merge 和federated在嚴格意義上來說,並不能算作乙個儲存引擎。因為merge 儲存引擎主要用於將幾個基表merge 到一起,對外作為乙個表來提供服務,基表可以基於其他的幾個儲存引擎。而federated 實際上所做的事情,有點類似於oracle 的dblink,主要用於遠端訪問其他mysql伺服器上面的資料。

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

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

MySQL 儲存引擎簡介

今天寫sql的時候偶然間看到示例在建立表的sql語句加了一段 engine myisam 一時好奇想看下這個 myisam 是什麼意思,於是在網上搜出了官方文件 mysql 5.1 參考手冊 中對mysql儲存引擎的簡介,摘抄如下 myisam 預設的mysql外掛程式式儲存引擎,它是在web 資料...

MySQL 儲存引擎簡介

今天寫sql的時候偶然間看到示例在建立表的sql語句加了一段 engine myisam 一時好奇想看下這個 myisam 是什麼意思,於是在網上搜出了官方文件 mysql 5.1 參考手冊 中對mysql儲存引擎的簡介,摘抄如下 myisam 預設的mysql外掛程式式儲存引擎,它是在web 資料...