【发布时间】:2019-02-24 03:11:59
【问题描述】:
我们正在为用户实体设计一个表格。唯一重要的要求是用户实体(例如他们的个人资料)应该有一个永久 URL。网上有很多关于 int/long vs UUID 的内容。但我仍然不清楚。
- 考虑到配置文件包含私人信息这一事实,在 URL 中嵌入可预测的 ID 并不是一个好主意。我说的对吗?
- 为了满足第一个要求,我可以将主键作为 UUID 并将其嵌入到 URL 中。但是有两个问题。我是否应该担心以 UUID 作为主键的性能损失?索引,插入,选择,加入?
话虽如此,以下哪一项更好(相对于上述)?
CREATE TABLE users(
pk UUID NOT NULL,
.....
PRIMARY KEY(pk)
);
或
CREATE TABLE users(
pk INT NOT NULL AUTO_INCREMENT,
id UUID NOT NULL,
.....
PRIMARY KEY(pk),
UNIQUE(id)
);
【问题讨论】:
标签: sql database-design uuid rdbms