在多个课程、书籍和工作中,我看到文本字段通常被定义为VARCHAR(255),用于“比较短的”文本。除了一个不错的圆数,有没有其他好的理由选择长度为255?这是过去某个时期的遗留问题吗(无论今天是否适用)?
当然,如果你知道字符串的最大长度,更紧密的限制会更理想。但如果你使用VARCHAR(255),那可能意味着你不知道最大长度,只知道它是一个“比较短的”字符串。
注意:我发现了这个问题(varchar(255) v tinyblob v tinytext),它说VARCHAR(n)需要n+1个字节的存储空间,其中n<=255,对于n>255需要n+2个字节的存储空间。这是唯一的原因吗?这似乎有点武断,因为与VARCHAR(256)相比,您只会节省两个字节,而您可以通过声明VARCHAR(253)来轻松地再节省两个字节。
当然,如果你知道字符串的最大长度,更紧密的限制会更理想。但如果你使用VARCHAR(255),那可能意味着你不知道最大长度,只知道它是一个“比较短的”字符串。
注意:我发现了这个问题(varchar(255) v tinyblob v tinytext),它说VARCHAR(n)需要n+1个字节的存储空间,其中n<=255,对于n>255需要n+2个字节的存储空间。这是唯一的原因吗?这似乎有点武断,因为与VARCHAR(256)相比,您只会节省两个字节,而您可以通过声明VARCHAR(253)来轻松地再节省两个字节。