自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL的InnoDB存儲引擎支持哪幾種行格式?

數據庫 MySQL
在MySQL 5.0之前是默認的格式,除了存儲字段值外,還會利用空值列表來保存null值,同時記錄變長字段長度列表和記錄頭信息。

數據庫表中的行格式決定了數據在物理存儲時的布局方式,進而對查詢和DML操作的性能產生影響。

在InnoDB存儲引擎中,常見的行格式主要包括以下四種:

  1. COMPACT:在MySQL 5.0之前是默認的格式,除了存儲字段值外,還會利用空值列表來保存null值,同時記錄變長字段長度列表和記錄頭信息。

圖片圖片

COMPACT適用于處理大量包含可變長度列(如VARCHAR、VARBINARY、BLOB和TEXT類型)數據。

對于可變長度列,前768字節(jié)的數據存儲在B樹節(jié)點的索引記錄中,超出部分存儲在溢出頁中。大于或等于768字節(jié)的固定長度列會被編碼為可變長度列,可以存儲在頁外。

  1. REDUNDANT:在MySQL 5.0版本之前,InnoDB使用的行記錄存儲方式,較少使用。Redundant 行格式會將該記錄中所有列(包括隱藏列)的長度信息存儲在“字段長度偏移列表”中。

圖片圖片

image.png

  1. DYNAMIC:MySQL 5.7版本引入的DYNAMIC格式是COMPACT格式的升級版本。它延續(xù)了COMPACT格式的優(yōu)勢,在處理大型可變長度列時更具靈活性,能夠靈活選擇將數據存儲在頁內還是頁外。DYNAMIC格式適用于多數應用場景,在存儲空間和性能之間取得了一定的平衡。其結構與COMPACT格式大致相似;
  2. COMPRESSED:作為MySQL 5.1中InnoDB的新增特性之一,壓縮功能能夠減小數據在磁盤上的占用空間。然而,其缺點在于增加了CPU的負擔,可能導致部分查詢性能下降。COMPRESSED行格式在DYNAMIC行格式的基礎上引入了頁外壓縮功能。在存儲數據時,如果發(fā)現可以通過壓縮來減小存儲空間,系統(tǒng)將選擇壓縮方式來存儲數據。在查詢時,數據將會被自動解壓并返回結果。
  3. BARRACUDA:作為MySQL 5.7引進的一種新格式,相較于前述格式,支持更多高級特性,包括動態(tài)行格式、逐行壓縮以及空間管理等功能。

對比:

行格式

緊湊的存儲特性

增強的可變長度列存儲

大索引鍵前綴支持

壓縮支持

支持的表空間類型

所需文件格式

REDUNDANT





system, file-per-table, general

Antelope or Barracuda

COMPACT





system, file-per-table, general

Antelope or Barracuda

DYNAMIC





system, file-per-table, general

Barracuda

COMPRESSED





file-per-table, general

Barracuda

責任編輯:武曉燕 來源: 碼上遇見你
相關推薦

2019-06-11 16:11:16

MySQLMyISAMInnoDB

2010-05-21 16:10:28

2021-12-20 23:24:40

前端測試開發(fā)

2022-04-29 13:40:55

前端測試后端

2018-06-14 10:44:59

MySQLMyISAMInnoDB

2021-12-27 03:40:41

Go場景語言

2009-05-19 09:58:41

MyISAMInnoDB存儲引擎

2009-05-05 10:19:37

存儲引擎InnoDBMyISAM

2024-05-27 09:07:27

2018-07-28 00:20:15

2011-09-01 09:39:06

2019-06-04 15:27:49

InnoDB存儲引擎

2010-05-21 15:53:30

2020-07-11 09:42:59

python數據挖掘數據分析

2010-08-17 13:00:19

DB2數據遷移

2010-05-11 15:06:24

MySQL MyISA

2010-08-20 10:26:25

DB2數據類型

2024-12-30 14:58:37

2010-05-21 16:23:52

MySQL MyISA

2010-11-23 11:27:53

MySQL MyISA
點贊
收藏

51CTO技術棧公眾號