Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 即使字段为空,行是否也会根据其声明列的大小占用内存?_Mysql - Fatal编程技术网

Mysql 即使字段为空,行是否也会根据其声明列的大小占用内存?

Mysql 即使字段为空,行是否也会根据其声明列的大小占用内存?,mysql,Mysql,我很好奇,如果我将一个列声明为varchar(5000),然后开始创建行,但将该列保留为空值,那么内存是如何分配的?每行的数据库是否增加5000字节?还是等待分配内存直到实际设置了一个值 你可以在这里找到答案: 您可以在这里找到答案: 嗯。。。我还不清楚。。。如果我使用的是InnoDB,并且值为NULL,那么它看起来需要L+2个字节。。。L是定义的空间(5k)还是不管数据的长度是多少(在本例中为0)?根据文档,实际空值nvarcharhmm只需要2个字节。。。我还不清楚。。。如果我使

我很好奇,如果我将一个列声明为varchar(5000),然后开始创建行,但将该列保留为空值,那么内存是如何分配的?每行的数据库是否增加5000字节?还是等待分配内存直到实际设置了一个值

你可以在这里找到答案:


您可以在这里找到答案:


嗯。。。我还不清楚。。。如果我使用的是InnoDB,并且值为NULL,那么它看起来需要L+2个字节。。。L是定义的空间(5k)还是不管数据的长度是多少(在本例中为0)?根据文档,实际空值nvarcharhmm只需要2个字节。。。我还不清楚。。。如果我使用的是InnoDB,并且值为NULL,那么它看起来需要L+2个字节。。。L是定义的空间(5k)还是不管数据的长度是多少(在本例中为0)?根据文档,实际空nvarchar只需要2个字节