sql-server - SQL Server - 为我的表选择主键

标签 sql-server performance database-design indexing primary-key

我有一个存储用户信息的表。
在用户表中,用户名是唯一的。您认为我应该将用户名设为主键还是应该使用 int 类型的代理键?
使用字符串键会严重影响性能吗?

最佳答案

使用代理整数键。

用户名不会经常改变,但他们可以。

至于性能,不要担心,直到你知道你有问题。

默认情况下,SQL Server 将在主键列上创建聚集索引。如果在聚集索引中使用宽键,则所有非聚集索引也将包含该宽键。

关于sql-server - SQL Server - 为我的表选择主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6462164/

相关文章:

javascript - .substr(0,1) 或 .charAt(0) 之间有什么区别?

sql - 实体继承是通过单个表还是多个表更好地完成?

sql - 主键也是星型模式中的外键。是好是坏?

sql-server - 如何从存在 JOIN 的 CTE 中删除?

c++ - 使用指针缓慢迭代字符串

mysql - 在数据库中存储用户密码/数据

sql-server - 根据不同数据类型的另一列设置列的默认值

sql - 拆分列表时确定第 n 项?

c# - 添加到 sql server 数据库时修剪 byte[]

Javascript 索引性能