我们正在为用户实体设计一个表格。唯一的非平凡要求是该用户实体应有一个永久URL(例如他们的个人资料)。互联网上有很多关于int / long与UUID的内容,但对我来说仍然不清楚。
- 考虑到个人资料中包含私人信息,将可预测的ID嵌入URL不是一个好主意。我正确吗?
- 为了满足第一个要求,我可以将主键设置为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)
);