用数据库的 BLOB(Binary Large Object) 来存储文件,本质上是把文件当成数据库里的一条“二进制数据”来管理。这样做不是“最佳实践万能解”,但在某些场景下确实有明显优势。可以从「为什么用」和「什么时候不该用」两方面来看。
如果文件本身和业务数据是强关联的,比如:
用 BLOB 可以:
BEGIN;
UPDATE user SET avatar = ? WHERE id = 1;
COMMIT;
✅ 文件和数据库记录要么一起成功,要么一起失败
如果用“文件路径 + 文件系统”:
典型适合:
数据库缓存命中后,读取非常快。
问题:
这些天生是文件系统的强项
file_url = https://oss.xxx.com/xxx.pdf
用 BLOB 存文件,不是为了“存文件方便”,而是为了“文件和数据的强一致性与可维护性”。
如果你愿意,可以告诉我:
我可以帮你判断 BLOB / 文件系统 / 对象存储 哪种最合适。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。