我正在建立一个论坛类型的网站,用户将拥有一个头像。主页面将有一个小版本,而单个页面将有一个大版本的头像。
因此,为了带宽,我会有不同的尺寸:
example.png
example_thumb.png
不同尺寸的首选存储和检索方法是什么?
这是我到目前为止所提出的:
User Table UserId | AvatarName | AvatarExt
1 | example | .png
这样我可以使用相同的查询获得base和thumb版本,只要我知道有一个'_thumb'版本
或者我应该像这样创建一个元表:
UserMeta UserId | Avatar | AvatarType
1 | example.png | original
1 | example_thumb.png | thumbnail
我会喜欢一些建议
答案 0 :(得分:5)
你走在正确的轨道上。
用户:
id
username
...
化身
id
user_id
avatar_type(original, thumbnail)
file_name
然后你可以这样做:
select * from avatars where user_id = $user_id and avatar_type='thumbnail'
这允许您允许以后允许用户拥有多个头像,而无需修改表格。
答案 1 :(得分:1)
任何一个都可以使用,但我会使用meta表以方便使用,特别是如果扩展名不会改变的话。
我认为将文件名和扩展名存储在不同的列中没有任何好处。