我正在为可以为我的客户处理1000张图片的网站上工作。每个用户说20,000个文件,大约200个用户(希望很快就会有1000个)。
vFile
(唯一ID)记录表示,描述了所有权和权限,文件夹树中的位置,S3上物理文件的位置,大小等。vFiles
。vFiles
。数据库困境是:
vFile
条记录或第二种解决方案似乎有一些优势:
vFiles
,第二个解决方案会减少数据库的负载。vFiles
的操作(如重命名,删除,重新排序)将影响更小的表格。您的想法将不胜感激。
答案 0 :(得分:1)
第二种解决方案似乎未考虑到网站功能的未来变化。例如,如果您希望以后允许用户共享图像,或允许具有不同权限级别的多个用户的图像池到文件中,该怎么办?如果您使用解决方案#2,添加这些功能将导致大量重复条目。一般来说,如果您有相同的信息,我读过的大多数内容建议将其放在一个表中,然后添加一个链接表以获得灵活性。选择与链接表中的user_id x匹配的项目应该非常快,即使有第三列用于其他过滤权限。
此外,即使您有一个巨大的单表搜索,向相关列添加索引也会大大加快搜索过程。我能想到#2可能更好的唯一情况是你是否锁定了桌子。
我不是专家,所以我想听听其他人的想法。
答案 1 :(得分:0)
使用以下表格结构
放
User Id ownership, permissions, location size etc imageFileIndex
在一张表中 在另一张表中
imageFileIndex vFile