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