使用电子邮件地址作为主键?

22 浏览
0 Comments

使用电子邮件地址作为主键?

在与自动递增数字相比较时,电子邮件地址是否是主键的不良候选项?

我们的网络应用需要电子邮件地址在系统中是唯一的。所以,我考虑使用电子邮件地址作为主键。然而,我的同事建议字符串比较比整数比较更慢。

这是不使用电子邮件作为主键的有效原因吗?

我们正在使用 PostgreSQL

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

我要指出的是,将电子邮件作为唯一字段是一个糟糕的选择,因为有人甚至一些小型企业会共享同一个电子邮件地址。而且像电话号码一样,电子邮件也可能被重新使用。 Jsmith@somecompany.com可能一年后属于John Smith,两年后属于Julia Smith。

另一个问题是电子邮件经常变化。如果您使用它作为关键字连接到其他表格,那么您还必须更新其他表格,这可能会在整个客户公司更改电子邮件时造成很大的性能损失(我曾经见过这种情况发生过)。

0
0 Comments

字符串比较比整数比较慢。但是,如果你只是使用电子邮件地址从数据库中检索用户,则这并不重要。如果你有具有多个连接的复杂查询,则该问题很重要。

如果你将有关用户的信息存储在多个表中,则用户表的外键将是电子邮件地址。这意味着你多次存储电子邮件地址。

0