SQL中的电子邮件字段应该有多长?

21 浏览
0 Comments

SQL中的电子邮件字段应该有多长?

这个问题已经有了回答:

在数据库中作为email地址的最佳长度是多少?

我知道一个Email地址可以无限长,因此,我为我的varchar电子邮件地址字段强加大小是会变得任意的。然而,我想知道“标准”是什么?你们用多长?(同样的问题也适用于名字字段...)

更新:显然,电子邮件地址的最大长度是320(<=64个名称部分,<=255个域名部分)。你使用这个吗?

admin 更改状态以发布 2023年5月23日
0
0 Comments

过去,我通常只使用255,因为那是短但不太短输入的根深蒂固的标准。另外,我也是个习惯性的人。

然而,由于最大长度是319,我会在该列上使用nvarchar(320)。记住要使用@

nvarchar不会使用不必要的空间,因此如果您只有一个20字符的电子邮件地址,它只会占用20个字节。这与nchar相反,nchar始终会使用其最大值(它会用空格填充值的右侧)。

我还会使用nvarchar代替varchar,因为它是Unicode。鉴于电子邮件地址的不确定性,这绝对是正确的做法。

0
0 Comments

理论上的限制非常长,但你真的需要担心这些很长的电子邮件地址吗?如果有人无法使用100个字符的电子邮件登录,你真的在意吗?实际上,我们更希望他们无法登录。

一些统计数据可能会解决这个问题。我们分析了一个拥有超过1000万个电子邮件地址的数据库。这些地址没有被确认,因此存在无效的地址。以下是一些有趣的事实:

  1. 最长的有效地址为89个字符。
  2. 有数百个更长的地址,达到我们列的限制(255个字符),但在视觉检查中明显是假的。
  3. 长度分布的峰值为19个字符。
  4. 不存在长尾。超过38个字符后,一切都急剧下降。

我们通过删除超过40个字符的任何内容来清理数据库。好消息是,没有人抱怨,但坏消息是并没有清理出太多记录。

0