图片文件名 - 基于GUID或ID,何时使用哪个

时间:2010-09-18 14:19:37

标签: database-design data-structures guid

我倾向于将配置文件用户上传的图片重命名为配置文件表中该列的相应ID,但最近我看到几个项目在表中添加了一个额外的列来标识相关的照片(uniqueid,md5或guid),这样做的好处是什么,我认为这是多余的,因为我已经可以使用配置文件主ID列识别照片(假设配置文件只有一张照片。)

感谢。 Yehia A.Salam

3 个答案:

答案 0 :(得分:1)

在这种情况下使用GUID的原因是它们无法猜到。

当您使用用户的ID字段(通常是自动递增int)时,您可以尝试随机数来获得结果。使用GUID,这是“不可能的”。

至少,这就是在这种情况下使用GUID的原因。原因可能与您的情况不同。

答案 1 :(得分:1)

一旦定义了非重要密钥,就可以重构或重新设计数据库,而无需担心更改ID。

由于非重要的密钥guid具有多个优点,因此它们在时间和空间上是唯一的,并且不需要计算数据库的往返。

此致

的Massimo

答案 2 :(得分:0)

如果GUID基于内容的MD5(或SHA1)哈希,这可能有助于对具有不同名称的相同图片进行重复数据删除。

另一个原因是合并来自多个用户的图像:如果GUID是随机/ MAC +基于时间的,则GUID列中不会发生冲突