MySQL:字段长度.真的有关系吗?

Joh*_*old 6 mysql sql database database-abstraction

我正在使用一些数据库抽象层,其中大多数都使用像"String"这样的属性,它是VARCHAR 250或INTEGER,长度为11位.但是例如我的东西长度不到250个字符.我应该去减少它吗?它真的有任何有价值的差异吗?

提前致谢!

Rud*_*die 9

INT长度什么都不做.所有INT都是4个字节.您可以设置的号码仅用于zerofill(以及谁使用它!?).

VARCHAR长度更多.这是该领域的最大长度.保存VARCHAR以便仅存储实际数据,因此长度不会消失.这些天,你可以拥有比255个字节更大的VARCHAR(256 ^ 2-1).区别在于字段长度使用的字节数.VARCHAR(100)和VARCHAR(8)以及VARCHAR(255)使用1个字节来保存字段长度.VARCHAR(1000)使用2.

希望有帮助=)

编辑
我几乎总是让我的VARCHARs 250长.无论如何应该在应用程序中检查实际长度.对于较大的字段,我使用TEXT(并且存储方式不同,因此可以更长).

编辑
我不知道目前的情况如何,但它曾经帮我(理解):http://help.scibit.com/Mascon/masconMySQL_Field_Types.html