首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用唯一CHAR作为主键的MySQL

问使用唯一CHAR作为主键的MySQL
EN

Stack Overflow用户
提问于 2017-09-07 23:26:48
回答 1查看 753关注 0票数 1

我对SQL编程相当陌生,我有一个有两列的表,UUID ( 32 CHAR唯一的十六进制)和权限(只是我所使用的系统的权限,比如'admin‘或’黑名单‘)。

在主键的概念上,我不是最好的,所以我想知道使用UUID作为我的主键是否有效,因为它是100%唯一的,没有空格,我已经用它来轻松地索引我的查询了。我不会用任何东西加入这个表,而且很可能永远也不会加入,那么使用UUID作为我的主键而不产生任何不可预见的后果有效吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-07 23:28:59

使用UUID作为主键是有效的。它满足主键所需的两个条件:

  • 它是独一无二的。
  • 它永远不会是空的。

然而,这是个坏主意。为什么?MySQL自动按主键对数据进行集群。也就是说,数据实际上是按主键排序的。UUID不是顺序的。插入可以发生在任何地方,需要移动数据。

我建议使用一个简单的自动递增主键,并将UUID声明为唯一:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46106485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档