gpt4 book ai didi

mysql - 如何使用 InnoDB 和 ROW_FORMAT=COMPRESSED 获取压缩数据

转载 作者:行者123 更新时间:2023-11-29 12:39:05 25 4
gpt4 key购买 nike

我将长 json 字符串存储在 mysql 表中,并使用以下命令创建了该表:

ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=8 

还会为数据库返回以下设置:

innodb_file_format = Barracuda (SHOW VARIABLES LIKE 'innodb_file_per_table';)
innodb_file_per_table = ON (SHOW VARIABLES LIKE 'innodb_file_format';)

字段类型设置为mediumtext。

到目前为止,我认为我已经遵循了书中的每一个步骤。

但是,当数据插入表中时,行平均长度没有变化。

SELECT AVG( LENGTH( json_field) ) FROM mytable

上面的命令仍然返回与切换到 ROW_FORMAT=COMPRESSED 之前相同的平均长度

我还使用标准 INSERT INTO mytable VALUES(...) 命令,并且不对值使用 COMPRESS()。

实际减少行长度时我缺少什么?

感谢您对此的见解。

更新:请忽略我的问题,因为将压缩表总大小与其非压缩版本进行比较表明大小已显着减小。

最佳答案

压缩工作在较低级别(页面和(或)Btree 节点)。 LENGTH() 返回(未压缩)字符串的实际长度。

您可以使用信息架构来深入了解压缩效果如何。

进一步阅读

关于mysql - 如何使用 InnoDB 和 ROW_FORMAT=COMPRESSED 获取压缩数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26373544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com