我有一个简单的webform,允许未经身份验证的用户输入他们的信息,包括姓名.我给名字字段限制了50个字符,以便与我的数据库表一致,其中字段是varchar(50),但后来我开始怀疑.
使用像Text列类型这样的东西更合适,还是应该将名称的长度限制在合理的范围内?
我正在使用SQL Server 2005,以防您的回复中的问题.
编辑:我没有看到关于类似问题的更广泛的问题.
我有一个MySQL表,动态插入行.因为我不能确定字符串的长度并且不希望它们被切断,所以我将它们变成varchar(200),这通常比我需要的大得多.给varchar字段的长度是否超过必要的长度?
我有一个contacts包含字段,如表postcode,first name,last name,town,country,phone number等等,所有这些都被定义为VARCHAR(255)即使没有这些领域都不会接近有255个字符.(如果你想知道,就是这样,因为Ruby on Rails迁移VARCHAR(255)默认情况下将字符串字段映射到我并且我从不打扰覆盖它).
由于VARCHAR只会领域的实际字符的数目存储(连同字段长度),是否有任何明显的优势(性能或其他方式)使用,比方说,VARCHAR(16)在VARCHAR(255)?
此外,大多数这些字段都有索引.字段上的较大VARCHAR大小是否会影响索引的大小或性能?
仅供我使用MySQL 5.
可能重复:
MySQL表中varchar长度的重要性
使用VARCHAR时(假设这是短字符串的正确数据类型)大小是否重要?如果我将它设置为20个字符,是否会占用更少的空间或快于255个字符?