微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – PostgreSQL:BYTEA vs OID Large Object?

我开始使用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进行更改.

我没有看到任何基准.

原文地址:https://www.jb51.cc/java/124669.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐