数据库中用户的全名的典型长度应该是多少

Wha*_*nID 4 mysql database database-design

可能重复:
数据库字段的标准长度列表

这很简单,数据库中用户允许的"全名"的典型长度应该是多少?

当我创建users表时,我通常将其设置为varchar 31或32(根据性能).你们有什么用,什么是标准/典型的惯例.


旁注:我从未在电子邮件长度(因为我设置了254)和密码(哈希,32长度)方面遇到问题.

Mar*_*tin 6

您的平均varchar字段允许的最大值(254?).

你没有通过任意缩短来赢得任何东西.数字和字符的细粒度控制或多或少是过去的遗留物,当每个字节都很重要时.今天它很重要 - 如果你正在处理数万或数亿行,或每秒数千次查询.对于您的普通数据库(即其中99%),性能来自正确的索引和查询,而不是使您的行减少几个字节.

当存在定义最大长度的正式规范时,仅限制字段的长度,例如EAN代码的13位数或ISIN的12个字符.

  • 这不是关于保存数据库空间.这是关于它的混乱.就像Shamittomar所说的那样,"想象一下,人们在Facebook上放了128个字符长的名字并且有评论显示它.几乎整条线都会被评论所覆盖." (3认同)
  • 取决于你需要它.如果它是真实姓名,我建议不要在数据库中限制它,但在适当的地方截断显示名称(例如显示前30个字符并使用`<abbr>`-Tag).如果是用户名,只需选择一个号码,32就可以了. (2认同)

SLa*_*aks 2

我建议至少128。