猿问

请问现在主流的关于系统的附件的存储信息表是如何设计的?是分散存储还是集中存储呢?

请问大家在设计一个系统的附件存储表的时候,是采用分散的将信息存储到各个需要的表中呢?还是集中的将附件信息存储到一个表中,然后在需要用到的表中进行关联呢?还是有其他的方案?

比如将用户头像的图片信息存储在用户表的某个字段中,产品的图片信息存储到产品表的某个字段中,我将这种存储方式称为分散存储。

我以前待过的公司都是这种方式存储的。

将所有用户上传的附件都存在一个表中,然后在查询数据需要图片信息的时候通过和其他表中id字段进行关联查询获取数据,我将这种存储方式称为集中存储。

请大神说说这两种方式的利弊。

如果有更好其他的方式,请各位大神不吝分享。


慕慕森
浏览 1732回答 2
2回答

慕姐4208626

分散存储可以减少表连接,加快查询速度集中存储的话可以做到查看所有上传的图片附件,一般做项目文档管理用的比较多(也可以做附件版本),缺点是需要连表

慕码人2483693

首先,不建议将表以BLOB的形式存储附件内容,会造成数据库容量大增,难以管理和运维;建议保存文件路径即可。建议集中存储:1、性能方面会稍有损失,查询附件的时候需要多查一次单据-附件关联的表,但影响不大2、有利于功能的抽象,查询、保存附件的功能可以做成一个通用的功能,对功能开发比较有利。
随时随地看视频慕课网APP

相关分类

MySQL
我要回答