【发布时间】:2013-01-22 17:46:36
【问题描述】:
我有一个包含两个表的数据库,目前每个表有 3 列。
Table_A:id、uid、url
表_B:id、uid、url
id 是主键,在插入的每个新行上自动递增 1。
我的问题是我还需要主键吗?我永远不会在数据库中查询id。
uid 列只是按用户分隔,因此它不是每行唯一的。
Table_A 和 Table_B 会经常被uid 比较。
我有 uid, url 索引,我希望该表可能会增长数十亿,我不想在 id 上浪费空间。
【问题讨论】:
-
RDBMS 中的所有表都需要主键。但是,它不需要是专用的(“代理”)自动递增 ID。它可以是在表中的一个或多个列上形成的“自然”键,或者(取决于数据库引擎)两者的组合!
标签: mysql