我们正在 mvc4 中创建一个相对基本的 CMS 站点。
过去,我们一直遵循为ID字段自动生成int的惯例,并有一个单独的字符串字段来保存url。
但大多数数据检索都是基于 url 字段的。
因此,我想知道是否最好完全丢弃 int ID 并使用 url 字段作为 ID。
这感觉是正确的做法,但我担心以后可能会给我带来悲伤。
除了确保每个 url 都是唯一的之外,这是否会给我带来任何其他影响或不便?
您是否在此字段上与其他表进行了大量连接?如果是这样,您需要将其作为外键存储在多个位置,这可能会占用一些空间(但在当今的计算世界中,空间并不是什么大问题)。是否允许用户更新 URL?如果是这样,您还必须更新外键的位置。根据数据库的不同,这可能会很慢。与 varchar 相比通常比 int 慢,因此查询可能会更慢......我只会索引 URL 并保留代理键,但我倾向于懒惰的一面。