我目前在开发一个产品,其中包含不同类型的图片,如产品图片、用户头像、标志等。
我需要一个查询性能良好的数据库。
我有两种数据库设计方案。
OPTION 1. - 在单个表中存储所有图像,包括id、title、url_full、url_thumb、status和timestamp字段
优点:
- 我可以使用单个ImageModel文件来插入、删除/更新数据。因此,对于图像存储,没有多个逻辑。只需要一个单一的逻辑,“存储在单个表中”。因此,每当需要保存图像时,我可以调用ImageModel的方法。
缺点:
- 如果有很多产品图片和较少的用户图片,则由于产品数量庞大,用户图片查询速度会变慢。
OPTION 2. - 在不同的表中存储不同类型的图像,包括id、title、url_full、url_thumb、status和timestamp字段
优点:
- 一个区域中记录数量的增加不会影响其他区域的查询速度。
缺点:
- 必须为每种图像类型编写单独的模型文件/函数。
- 每当需要存储图像时,都需要指定类型。
我的问题是,哪种方法更好。优点和缺点是真正的关注点吗?另外,如果有其他优点/缺点,请列出来。 或者,如果有其他好的数据库设计,请建议。
请根据实际情况回答,其中有大量产品和用户。