加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在PostgreSQL中存储文件是否存在性能问题?

发布时间:2020-12-13 16:38:56 所属栏目:百科 来源:网络整理
导读:可以在PostgreSQL的表格中存储HTML页面,图像,PDF等文件,还是慢?我读了一些文章,说这是不推荐的,但我不知道是否是真的。 什么是更好的使用,存储为BLOB(它存储在一个文件,对吗?)或一个字节类型的列? 你基本上有两个选择。您可以将数据直接存储在行中
可以在PostgreSQL的表格中存储HTML页面,图像,PDF等文件,还是慢?我读了一些文章,说这是不推荐的,但我不知道是否是真的。

什么是更好的使用,存储为BLOB(它存储在一个文件,对吗?)或一个字节类型的列?

你基本上有两个选择。您可以将数据直接存储在行中,也可以使用大型对象工具。由于PostgreSQL现在使用了一些名为 TOAST的东西来将大字段移出表格,所以不应该直接在行中存储大量数据而导致性能下降。一个字段的大小仍然保持1 GB的限制。如果这太有限,或者您想要一个流式API,您可以使用大型对象工具,这样可以让您更多地了解数据库中的文件描述符。您可以将LO ID存储在列中,并可以从该ID读取和写入。

我个人建议你避免大对象设施,除非你绝对需要它。使用TOAST,大多数使用案例只需使用数据库即可。对于大对象,您可以给自己额外的维护负担,因为您必须跟踪您使用的LO ID,并确保在不再使用它们(但不是之前)时取消链接,否则他们将坐在您的数据目录永远占用空间。还有很多设施在他们周围有异常的行为,其细节让我失望,因为我从不使用它们。

对于大多数人来说,与数据库中存储大量数据相关的大量性能损失是,您的ORM软件将在每次查询时都会提取大量数据,除非您明确指出不会。您应该注意告诉Hibernate或您正在使用的任何内容将这些列视为很大,只有在特别要求时才能提取它们。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读