Php null是否占用mysql中的内存
我创建了一个表并推送了10000行:Php null是否占用mysql中的内存,php,mysql,Php,Mysql,我创建了一个表并推送了10000行: //id = int(10) not null auto_increment // test = varchar(1) id | test --------- 1 | a 2 | a 3 | a 4 | a ... 下载这个sql文件-他的体重约为0.1m 然后我添加了一个列test_2(varchar(1)),默认为NULL: sql后文件重量=+30% 空值是否占用内存?如果字段是固定宽度,则存储空值占用的空间与任何其他值相同-字段的
//id = int(10) not null auto_increment
// test = varchar(1)
id | test
---------
1 | a
2 | a
3 | a
4 | a
...
下载这个sql文件-他的体重约为0.1m
然后我添加了一个列test_2(varchar(1)),默认为NULL:
sql后文件重量=+30%
空值是否占用内存?如果字段是固定宽度,则存储空值占用的空间与任何其他值相同-字段的宽度 如果字段宽度可变,则空值不占用任何空间 除了存储空值所需的空间之外,还存在具有可空列的开销。对于每一行,每个可空列使用一位来标记该列的值是否为空。无论列的长度是固定的还是可变的,都是如此 请看这个
如果字段为固定宽度,则存储NULL将占用与任何其他值相同的空间-字段的宽度 如果字段宽度可变,则空值不占用任何空间 除了存储空值所需的空间之外,还存在具有可空列的开销。对于每一行,每个可空列使用一位来标记该列的值是否为空。无论列的长度是固定的还是可变的,都是如此 请看这个
“除了存储所需的空间”是什么意思?这意味着不是varchar(100),而是date,或者int(不带值)?定义一个值,其中值为null,或者使用任何一个位。对于varchar null,需要1位,但在char(4)中,如果这样定义,则意味着null值需要char中的4个字节……因为char是固定大小,varchar是可变大小……为什么是1位?因为对于define来说,vlaue是空的,或者它们必须需要1位,这意味着“除了存储所需的空间之外”是什么?这意味着不是varchar(100),而是date,或者int(不带值)?定义一个值,其中值为null,或者使用任何一个位。对于varchar null,需要1位,但在char(4)中,如果这样定义,则意味着null值需要char中的4个字节……因为char是固定大小,varchar是可变大小……为什么是1位?因为对于define,vlaue为null,或者它们必须需要1位