row_format - [Mysql]

本文介绍了MySQL中的静态表和动态表的区别。静态表采用fixed行格式,所有记录长度固定,读取速度快但空间利用率较低;动态表采用dynamic行格式,记录长度可变,节省空间但读取速度相对较慢。此外还介绍了如何通过ALTER TABLE语句来修改表的行格式。
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://cjbskysea.blogbus.com/logs/35012392.html

在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
mysql_sync_database --warehouse hdfs://hdfs-cluster/user/hive/warehouse/ --database ods --table_prefix ods_r2_ --table_suffix _paimon --catalog_conf metastore=hive --catalog_conf uri=thrift://master-1-1.c-dcd118dc4de41971.us-west-1.emr.aliyuncs.com:9083,thrift://master-1-2.c-dcd118dc4de41971.us-west-1.emr.aliyuncs.com:9083,thrift://master-1-3.c-dcd118dc4de41971.us-west-1.emr.aliyuncs.com:9083 --mysql_conf hostname=rr-2evv848982cw96i13.mysql.rds.aliyuncs.com --mysql_conf username=bigdata_reader --mysql_conf password='21Rzhm9IpRa!' --mysql_conf database-name='repay' --mysql_conf server-time-zone='America/Cancun' --mysql_conf scan.startup.mode='initial' --table_conf bucket=10 --table_conf changelog-producer=lookup --table_conf sink.parallelism=10 --table_conf metastore.partitioned-table=true --table_conf file.format=parquet --metadata_column op_ts --ignore_incompatible true --table_conf num-sorted-run.stop-trigger=2147483647 --table_conf sort-spill-threshold=10 --table_conf snapshot.time-retained='24h' --mysql_conf debezium.min.row.count.to.stream.results=50000 --mysql_conf debezium.tasks.max=10 --mysql_conf debezium.max.queue.size=81920 --mysql_conf debezium.max.batch.size=20480 --mysql_conf debezium.event.deserialization.failure.handling.mode='skip' --mysql_conf debezium.binlog.buffer.size=20480 --mysql_conf debezium.snapshot.fetch.size=40000 --mysql_conf debezium.snapshot.mode='initial' --mysql_conf debezium.database.serverTimezone='America/Cancun' --type_mapping tinyint1-not-bool,to-nullable --mysql_conf scan.incremental.snapshot.enabled=true --mysql_conf scan.incremental.snapshot.chunk.size=40000 --mysql_conf scan.snapshot.fetch.size=100000 --mode combined --mysql_conf server-id='19700-19740' --mysql_conf debezium.deserialization.skip.parse.errors=true 加了debezium.deserialization.skip.parse.errors,但还是报错
最新发布
11-12
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值