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进行更改.

我没有看到任何基准.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...