Mysql儲存引擎

2022-09-13 10:33:08 字數 1574 閱讀 4222

myisam儲存引擎

mysql5.5版本以前的預設儲存引擎,大部分系統表、臨時表(在排序、分組等操作中,數量超過一定大小後,由查詢優化器建立的臨時表)使用myisam儲存引擎

構成:myd:資料檔案;myi:索引檔案

特性: 支援表級鎖,所以在併發性高的情況下,效能不是很好。

表損壞修復(檢查表:check table tabllename;修復表:repair  table tablename)

支援表的全文索引

支援壓縮操作(減少磁碟io),壓縮後不能再寫入,只能讀。myisampack命令列工具

不支援事務

innodb儲存引擎:

5.5版本開始,mysql中建立資料庫預設儲存引擎為innodb。innodb使用表空間儲存資料(系統表空間,獨立表空間)

mysql> show variables like 'innodb_file_per_table';

innodb_file_per_table=on-----------獨立表空間:tablename.ibd

innodb_file_per_table=off-----------系統表空間:ibdatax

系統表空間,獨立表空間對比:

5.5版本前預設使用系統表空間

系統表空間無法簡單收縮檔案大小(刪除表資料時,系統表空間不會縮小空間)

獨立表空間可以通過optimize table命令收縮系統檔案

系統表空間可能會產生io瓶頸,獨立表空間可同時對多個表同時進行io操作

系統表空間到獨立表空間的轉換:

1、使用mysqldum匯出所有表資料

2、停止mysql服務,修改相關引數,刪除innodb相關檔案

3、重啟mysql服務,重建innodb獨立表空間

4、重新匯入資料

innodb儲存引擎特性:

事務性儲存引擎(原子性、隔離性、一致性、永續性)

redo日誌(事務提交後,修改後的資料存放到緩衝器,每隔一段時間刷寫到磁碟)mysql> show variables like 'innodb_log_buffer_size';

undo日誌(未提交事務的回滾---一致性、原子性)

行級鎖能支援更大的併發

csv儲存引擎:

資料以檔案方式儲存在檔案中

.csv檔案儲存表內容

.csm檔案儲存表元資料和表狀態和資料量

.frm檔案儲存表結構資訊

所有列不能為空、不支援索引

archive儲存引擎:

以zlib對錶資料進行壓縮,磁碟io更少

資料儲存在arz後為字尾的檔案中

只支援inert和select操作,只允許在自增id列建立索引

memory儲存引擎:

資料存放在記憶體中,讀寫速度快,但是伺服器重啟或宕機資料會丟失

使用場景:

用於查詢或者對映表,例如郵編和地區的對應表

儲存資料分析中產生的中間表

快取週期性聚合資料的結果表

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

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

mysql個儲存引擎 MySQL儲存引擎

mysql資料庫的體系架構如下圖所示 從上圖中可以看出,mysql主要分為以下幾個元件 連線池元件 管理服務和工具元件 sql介面元件 分析器元件 優化器元件 緩衝元件 外掛程式式儲存引擎 物理檔案 儲存引擎 其實就是指定表如何儲存資料,如何為儲存的資料建立索引以及如何更新 查詢資料等技術實現的方法...

mysql儲存引擎模式 mysql儲存引擎

mysql資料庫的體系架構如下圖所示 從上圖中可以看出,mysql主要分為以下幾個元件 連線池元件 管理服務和工具元件 sql介面元件 分析器元件 優化器元件 緩衝元件 外掛程式式儲存引擎 物理檔案 一 儲存引擎 儲存引擎 其實就是指定 表 如何儲存資料,如何為儲存的資料 建立索引以及 如何更新,查...