2010-09-18 59 views
2

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

谢谢。 Yehia A.Salam

回答

1

一旦你定义了一个非重要的密钥,你可以重构或重新设计你的数据库,而不必担心改变ID。

由于非重要密钥guid具有多重优势,它们在时间和空间上都是独一无二的,并且不需要计算数据库往返。

问候

马西莫

1

在这种情况下使用GUID的原因是它们不能被猜出。

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

至少,这就是为什么在这种情况下使用GUID。原因可能会因您的情况而有所不同。

0

如果GUID是基于MD5(或SHA1)的内容,这可能在重复数据删除以不同的名称相同的图片帮助的哈希值。

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