mysql 栏格式 compact ,compressed, default, fixed, redundant 的差别或者相关介绍文章。

mysql 栏格式 compact ,compressed, default, fixed, redundant 的差别或者相关介绍文章。,第1张

Mysql的row_format

在mysql中, 若一张表里面不存在varchar、text以及其变形、blob以及其变形的字段的话,那么张这个表其实也叫静态表,即该表的row_format是fixed,就是说每条记录所占用的字节一样。其优点读取快,缺点浪费额外一部分空间。

若一张表里面存在varchar、text以及其变形、blob以及其变形的字段的话,那么张这个表其实也叫动态表,即该表的row_format是dynamic,就是说每条记录所占用的字节是动态的。其优点节省空间,缺点增加读取的时间开销。

所以,做搜索查询量大的表一般都以空间来换取时间,设计成静态表。

row_format还有其他一些值:

DEFAULT

FIXED

DYNAMIC

COMPRESSED

REDUNDANT

COMPACT

修改行格式

ALTER TABLE table_name ROW_FORMAT = DEFAULT

修改过程导致:

fixed--->dynamic: 这会导致CHAR变成VARCHAR

dynamic--->fixed: 这会导致VARCHAR变成CHAR

show TABLE STATUS 该命令用于返回当前库中的所有表概览,通过添加 pattern 可以显示指定表的概览譬如: show TABLE STATUS like 'mytable%'

返回信息格式如下:

其中需要注意的是 Row_format 这一列的值。

Row_format 的可能取值有: Fixed, Dynamic, Compressed, Redundant, Compact 等。

Dynamic ,代表行格式为动态行,行长度可变,说明表中存在varchar或text或Blob类型字段。

fixed ,代表固定行,是指行长度不变,说明表中都是int或har类型字段。执行效率高,不容易产生碎片。但char会导致占用固定长度的空间,长度不足时,会填补空格;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7648015.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-08
下一篇 2023-04-08

发表评论

登录后才能评论

评论列表(0条)

保存