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

java – PostgreSQL:BYTEA vs OID Large Object?

发布时间:2020-12-14 16:40:06 所属栏目:Java 来源:网络整理
导读:我开始使用Hibernate 3.2和PostgreSQL 8.4的应用程序.我有一些被映射为@Basic(= PG bytea)的字节[]字段和映射为@Lob(= PG Large Object)的其他字节.为什么不一致?因为我是一个Hibernate noob. 现在,这些字段最大为4 Kb(但平均值为2-3 kb). PostgreSQL文档提
我开始使用Hibernate 3.2和PostgreSQL 8.4的应用程序.我有一些被映射为@Basic(= PG bytea)的字节[]字段和映射为@Lob(= PG Large Object)的其他字节.为什么不一致?因为我是一个Hibernate noob.

现在,这些字段最大为4 Kb(但平均值为2-3 kb). PostgreSQL文档提到,当字段很大时,LO是很好的,但是我没有看到“大”的意思.

我已经升级到PostgreSQL 9.0与Hibernate 3.6,我被卡住将注释更改为@Type(type =“org.hibernate.type.PrimitiveByteArrayBlobType”).这个bug已经提出了一个潜在的兼容性问题,我最终发现,与正常的领域相比,大对象是一个很难处理的问题.

所以我正在考虑把它全部改为bytea.但是我担心字节字段是以十六进制编码的,所以在编码和解码中有一些开销,这会损害性能.

有没有良好的基准表现这两个?
有人做了切换,看到了不同吗?

解决方法

But I am concerned that bytea fields
are encoded in Hex

字节输入可以是十六进制或转义格式,这是您的选择.存储将一样.从版本9.0开始,输出默认值为十六进制,但您可以通过编辑参数bytea_output进行更改.

我没有看到任何基准.

(编辑:李大同)

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

    推荐文章
      热点阅读