存储长二进制(原始数据)字符串

存储长二进制(原始数据)字符串,第1张

存储长二进制(原始数据)字符串

PostgreSQL 而言,类型

text
是不可能的。与目标相比,它更慢,占用更多空间并且更容易出错
bytea

基本上有3种方法:

  1. 使用类型 bytea (基本上与SQL blob类型的pg等效)

  2. 使用“ 大物件

  3. 将blob作为文件存储在文件 系统中, 而仅将文件名存储在数据库中。

每个都有自己的优点和缺点。

  1. 非常易于处理,但是需要最多的磁盘空间。需要一些解码和编码,这也使它变慢。备份的大小迅速增加!

  2. 在处理方面有些尴尬,但是您有自己的基础结构来处理blob-如果需要的话。而且,您可以更轻松地进行单独的备份。

  3. 是迄今为止最快的方法,占用的磁盘空间最少。但是它不提供在数据库内部存储时获得的参照完整性。

我有许多类似于图像文件的实现:将一个 小缩略图
存储在bytea字段中,以实现参考完整性和快速参考。将原始图像作为文件存储在文件系统中。当然,您需要考虑何时以及如何删除过时的文件,如何备份外部文件等。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5063045.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存