sql – 用户的唯一标识符

如果我有一个包含一百个用户的表,我只会设置一个自动增量userID列作为主键.但是,如果突然我们有一百万用户或500万用户那么这变得非常困难,因为我希望开始变得更加分散,在这种情况下,自动增量主键将是无用的,因为每个节点将创建相同的主键.

解决方案是使用自然主键吗?我真的很难想到这群用户的自然主键.问题是他们都是年轻人,所以他们没有国家保险号码或我能想到的任何其他唯一标识符.我可以创建一个多列主键,但仍有机会,但重复发生的次数微乎其微.

有谁知道解决方案?

谢谢

解决方法

我想说暂时保持用户ID的自动增量.

如果你确实有数百万用户突然涌入,那么你可以考虑改变它.

换句话说,当你拥有它时解决问题. “过早优化是万恶之源.”

要回答这个问题 – 一些自动增量将允许您为自动增量设定种子,因此您可以在不同的节点上获得不同的自动增量.这样可以避免这个问题,同时仍允许使用自动增量.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...