我知道不建议在 SQL 中将图像存储为 BLOB。然而,在我的本地 PC 和服务器上同时工作使得在两者之间同步图像变得困难。是否还有理由不单独使用 BLOB 作为备份,这会在本地创建缓存文件(以静态方式提供服务)?
本质上,只有选择 BLOB 列时性能才是问题吗?如果唯一的效果是更大的表格,那么我认为没有理由不将图像直接与表格条目关联。
如果您可以公开您的图像 - 我建议将图像保存在与数据库不同的(可能更便宜)存储上,例如 S3。
但是,如果您的图像应该是私有的,那么将它们存储在数据库中并不是最糟糕的选择,但您需要在代码中处理它们。
如果您使用 mysql5.6 和 Barracuda 格式(这是当今最常见的格式),那么从 MySQL 的角度来看 - 存储 BLOB 列将在磁盘上进行 2 次数据查找,而不是 1 次,因为正在保存 BLOB 和 TEXT 列主数据页之外。
您可以阅读有关此的更多信息Percona 博客文章 https://www.percona.com/blog/2008/04/23/real-life-use-case-for-barracuda-innodb-file-format/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)