我正在使用一些数据库抽象层,其中大部分都使用诸如“String”之类的属性,它是 VARCHAR 250 或 INTEGER,长度为 11 位。但例如,我有一些长度少于 250 个字符的内容。我应该去减少它吗?它真的有任何有值(value)的区别吗?
提前致谢!
最佳答案
INT 长度什么都不做。所有 INT 都是 4 个字节。您可以设置的数字仅用于 zerofill
(谁在使用它!?)。
VARCHAR 长度做的更多。这是字段的最大长度。保存 VARCHAR 以便仅存储实际数据,因此长度无关紧要。如今,您可以拥有大于 255 字节(即 256^2-1)的 VARCHAR。不同之处在于用于字段长度的字节数。 VARCHAR(100) 和 VARCHAR(8) 以及 VARCHAR(255) 使用 1 个字节来保存字段长度。 VARCHAR(1000) 使用 2。
希望对您有所帮助 =)
编辑
我几乎总是让我的 VARCHAR 长度为 250。无论如何都应该在应用程序中检查实际长度。对于更大的字段,我使用 TEXT(它们的存储方式不同,因此可以更长)。
编辑
我不知道这是怎么回事,但它曾经帮助过我(理解):http://help.scibit.com/Mascon/masconMySQL_Field_Types.html
关于MySQL:字段长度。真的有关系吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5782126/