我应该将图像路径存储在一个表中,还是根据图像类型存储多个表?

时间:2014-07-19 18:03:21

标签: mysql sql

我们假设我正在制作一个购物网站并需要为这些类型的图片存储路径:

  • 用户头像x 250,000
  • 产品图片x 10,000,000
  • 客户照片x 100,000
  • 论坛上传x 50,000

每个类别中的图像数量不断增长。

为每种类型的图片创建一个单独的表,或者将它们全部放在一个带有type列的表中以区分它们会不会更好?

我认为将它们放入单独的表中可能更好的原因是,例如,产品图像的数量将始终显着高于用户图像的数量。因此,当用户更改其头像时,或者在从数据库中检索到头像的页面被加载时,如果表格是分开的,那么它是否会节省大量时间添加/检索记录?

1 个答案:

答案 0 :(得分:1)

取决于。如果它只是一个URI,您可以将其存储在实际数据所属的表中。因此,对于用户的头像,请使用user表中的字段。

如果图像的属性更多,并且图像类型之间共享字段,则将它们保存在同一image表中没有任何害处。

要记住的另一件事是更改字段值的频率。如果某些类型的行经常被更改或删除/添加,那么将易失性数据组合在一起可能会更好。