Nul*_*ead 3 sql-server indexing performance database-design primary-key
我有一个存储用户信息的表.
在用户表中,用户名是唯一的.你认为我应该将用户名作为主键,还是应该使用int的代理键?
使用字符串键会严重影响性能吗?
使用代理整数键.
用户名不会经常改变,但他们可以.
至于性能,在你知道自己遇到问题之前不要担心.
默认情况下,SQL Server将在主键列上创建聚簇索引.如果在聚簇索引中使用宽键,则所有非聚簇索引也将包含该宽键.
通常使用int作为主键.这部分是由于约定以及在其他表中将它们用作外键时节省空间.实际上,使用您的用户名字段作为主要字符不会影响性能,除非您最终使用它在多个表中拥有数千条记录.如果您认为您的牌桌将保持较小,则可以优先考虑.