使用Java从oracle DB保存/检索巨大blob时的性能问题

时间:2011-06-12 11:32:48

标签: java oracle jdbc blob

我使用JDBC将巨大的blob(500 MB)保存到oracle DB中。插入和后续检索需要花费大量时间。

如果您有任何人遇到此问题,请提出建议。

2 个答案:

答案 0 :(得分:5)

许多非数据库人员真的害怕在数据库中粘贴BLOB和CLOB。他们不应该。 Oracle非常好地管理它们。还要记住,Oracle还开发了文件系统(包括BTRFS),因此了解存储各种数据。数据库中的数据可以更好地防止媒体或系统故障,防止未经授权的访问,并进行不正当使用审核。

你应该使用11g和SecureFile LOBS。本文档SecureFile performance为实现与常规文件系统存储一样好或更好的性能提供了指导。

当然值得检查瓶颈是什么。如果它是应用服务器和数据库服务器之间的网络,那么任何数据库调整都不会绕过该问题。

答案 1 :(得分:1)

500 MB blob?哦,我的上帝。

严肃地说,答案是“不要那个!”关系数据库不是为此而设计的,也不是针对它进行优化的;表和文件系统必须组织索引和搜索的方式不适合那种大的难以理解的块。

相反,请考虑为这个大块创建一个单独的文件系统,并在数据库中存储路径名。