在多门课程、书籍和工作中,我看到定义为VARCHAR(255)的文本字段类似于"短"文本的默认设置.除了a nice round number之外,还有什么好的原因让人如此频繁地 Select 255的长度呢?这是不是在过go 的某个时候有很好的理由(无论它是否适用于今天)时的一种抗拒呢?
当然,我意识到,如果你以某种方式知道绳子的最大长度,更严格的限制会更理想.但是,如果您使用的是VARCHAR(255),这可能表示您不知道最大长度,只知道它是一个"短"字符串.
注意:我发现了这个问题(varchar(255) v tinyblob v tinytext),它说VARCHAR(n)需要n+1字节的存储空间来存储n<=255、n+2字节的存储空间用于n>;这是唯一的原因吗?这似乎有点武断,因为与VARCHAR(256)相比,您只能保存两个字节,而通过声明它为VARCHAR(253),您也可以轻松地保存另外两个字节.