《MySQL系列-InnoDB引擎26》表-InnoDB行记录格式
Posted DATA数据猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了《MySQL系列-InnoDB引擎26》表-InnoDB行记录格式相关的知识,希望对你有一定的参考价值。
InnoDB行记录格式
InnoDB存储引擎和大多数数据库意义(如Oracle和Micrisoft SQL Server数据库),记录是以行的形式存储的。这意味着页中保存着表中一行行的数据。InnoDB存储引擎设计了4种不同类型的行格式,分别是Compact,Redundant,Dynamic,Compressed
行格式。
可以通过命令select @@innodb_default_row_format;
查看默认的行格式:
mysql> select @@innodb_default_row_format;
+-----------------------------+
| @@innodb_default_row_format |
+-----------------------------+
| dynamic |
+-----------------------------+
1 row in set (0.00 sec)
也可以查看当前某表的行格式:
# 可以看到ROW_format行是Dynamic
mysql> show table status like 'zxy'\\G;
*************************** 1. row ***************************
Name: zxy
Engine: InnoDB
Version: 10
Row_format: Dynamic
Rows: 12
Avg_row_length: 1365
Data_length: 16384
Max_data_length: 0
Index_length: 0
Data_free: 0
Auto_increment: NULL
Create_time: 2022-10-08 16:51:21
Update_time: 2023-02-08 09:55:59
Check_time: NULL
Collation: latin1_swedish_ci
Checksum: NULL
Create_options:
Comment:
1 row in set (0.00 sec)
也可以修改表的行格式:
# 1.将表的行格式修改为compact
mysql> alter table zxy row_format=compact;
Query OK, 0 rows affected (0.12 sec)
Records: 0 Duplicates: 0 Warnings: 0
# 2.查看zxy表的存储格式,ROW_format是Compact
mysql> show table status like 'zxy'\\G;
*************************** 1. row ***************************
Name: zxy
Engine: InnoDB
Version: 10
Row_format: Compact
Rows: 12
Avg_row_length: 1365
Data_length: 16384
Max_data_length: 0
Index_length: 0
Data_free: 0
Auto_increment: NULL
Create_time: 2023-02-24 09:43:32
Update_time: NULL
Check_time: NULL
Collation: latin1_swedish_ci
Checksum: NULL
Create_options: row_format=COMPACT
Comment:
1 row in set (0.00 sec)
ERROR:
No query specified
以上是关于《MySQL系列-InnoDB引擎26》表-InnoDB行记录格式的主要内容,如果未能解决你的问题,请参考以下文章
《MySQL系列-InnoDB引擎23》文件-InnoDB存储引擎文件-表空间文件