查找表-我应该使用id列还是仅使用值?

时间:2019-02-23 18:54:57

标签: sql postgresql database-design

我有很多看起来像的查询表:

id(pk) type(unique)
---
1 UNIVERSITY OF ARIZONA
2 UNIVERSITY OF MIAMI
3 TOKYO UNIVERSITY

假设type在所有情况下都是唯一的字符串。

我在问我应该使用id(pk)还是应该这样做:

type(pk)
----
UNIVERSITY OF ARIZONA
...

1 个答案:

答案 0 :(得分:2)

您应该使用主键。原因如下:

  • 整数通常比连接字符串更有效。
  • 从存储角度来看,整数绝对更有效-字符串比数字长。
  • 您可能希望有一天更改名称,例如'UNIVERSITY OF ARIZONA (TUCSON)'
  • 主键确实是外键关系所期望的。