在mvc模型中使用字符串ID字段有什么缺点吗?

时间:2013-09-10 09:53:06

标签: sql asp.net-mvc database content-management-system

我们正在mvc4中创建一个相对基本的CMS站点。

过去我们总是遵循为ID字段设置auto生成int的惯例,并且有一个单独的字符串字段来保存url。

但大多数数据检索都基于url字段。

因此,我想知道是否最好完全丢弃int ID并使用url字段作为ID。

感觉这是正确的事情,但我担心以后可能会让我感到悲伤。

除了确保每个网址都是唯一的,还有其他任何影响或不便,这可能会让我更进一步吗?

1 个答案:

答案 0 :(得分:1)

你和其他桌子在这个领域做了很多连接吗?如果是这样,你需要将它作为多个地方的外键存储,并且可能会占用一些空间(但在当今的计算世界中,空间不是太大的交易)。您是否允许用户更新URL?如果是这样,您还必须更新它是外键的位置。根据数据库的不同,这可能会很慢。与varchar比较通常比int慢,所以查询可能会更慢...我只是索引URL并保留代理键,但我倾向于懒惰的一面。