gpt4 book ai didi

数据库主键

转载 作者:太空狗 更新时间:2023-10-30 02:00:19 24 4
gpt4 key购买 nike

我有一个用户表,其中有数亿行并且有一个字段用户名(varchar),我应该将它作为主键而不是唯一索引吗?添加一个额外的字段 user_id(int) 并将其作为主键的优点或缺点是什么?我不知道我会在哪里使用 user_id 除了在连接条件上说在 int 上连接比在 varchar 上连接更快?还是它?(因为两个字段都已编入索引)

更新:假设更改用户名不是一个选项。

最佳答案

首先,我赞成 Frederik 的评论:我坚信不要将任何业务或功能值(value)赋予表的主键。现在可能没有更改用户名的选项,但也许以后会有。即使没有,最好养成习惯并与所有表格保持一致,而不是混合范例。

使用数字(或以某种方式顺序)主键的第二个原因是插入和更新速度。虽然这可以更改,但默认情况下表上的主键也是聚集索引。聚簇索引决定了表中行的物理顺序,因此插入一个乱序的值会导致数据库引擎将它之后的所有行向下移动,以便它可以将它插入到正确的位置。对于包含数百万行的表,这可能是一项重要的插入或更新操作。

关于数据库主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4634343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com