gpt4 book ai didi

具有空值的 Mysql 列 - 空间要求是多少?

转载 作者:行者123 更新时间:2023-11-29 14:56:33 30 4
gpt4 key购买 nike

我有一个包含很多条目的表。我需要一个带有整数值或空值的附加列。问题是只有极少数行会填充该字段。

所以我想知道是否最好创建一个单独的表,在其中以 1:1 关系链接条目。

我知道 mysql/myisam 中一个整数条目需要 4 个字节。如果我将列设置为允许空值,并且 100 000 行中只有 100 行填充了该字段,那么其余行仍会为每个空值占用 4 个字节吗?

或者mysql是否足够智能,可以在填充的地方设置值,并且将所有内容视为空,而没有设置任何内容?

最佳答案

这取决于您在创建表时指定的 ROW_FORMAT 值。

在版本 5.0.3 之前,默认格式设置为“REDUNDANT”:任何固定长度字段都将使用相同的空格,即使其值为 NULL。

从版本 5.0.3 开始,该值设置为“COMPACT”:NULL 值永远不会使用数据库中的任何空间。

您可以执行 ALTER TABLE 以确保使用正确的格式:

ALTER TABLE ... ROW_FORMAT=COMPACT

更多详细信息请参见此处: http://dev.mysql.com/doc/refman/5.1/en/data-size.html

关于具有空值的 Mysql 列 - 空间要求是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4491899/

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