数据库
首页 > 数据库> > sql – 如何选择我的主键?

sql – 如何选择我的主键?

作者:互联网

我在choosing a primary key找到了这个阅读材料.

>是否有关于如何为给定表选择主键的指南/博客文章?
>我应该使用自动递增/生成的密钥,还是应该将主密钥建立在正在建模的数据上(假设它具有真正唯一的字段)?
>主键是否总是为了性能而长,或者我可以将外部唯一ID作为主键,即使它是一个字符串?

解决方法:

我相信在实践中使用natural key很少比surrogate key好.

以下是使用自然键作为主键的主要缺点:

>您的键值可能不正确,或者您可能只想重命名键值.要编辑它,您必须更新将其用作外键的所有表.
>通常很难拥有真正的unique自然键.
>自然键通常是字符串.数字字段上的索引将比字符串字段上的索引更紧凑.

关于主键的数据类型应该是什么没有硬性规则.数字键通常表现更好,但您可以使用字符串,尤其是如果表不大,并且引用它的表也不大.

标签:sql,mysql,database,primary-key
来源: https://codeday.me/bug/20190927/1823181.html