我正在寻找在Oracle数据库中存储XML的最佳方法。目前我们使用BLOB类型列,但我正在推动将此列移动到XMLType或基于XMLType模式的列。我刚刚从Oracle发现了这篇文章XML: To CLOB or Object?并阅读了它,但我还没有下定决心。
以前有人遇到过同样的问题吗? 另外的想法是XML将通过Red5服务器完全提取到Flash客户端,所以我在这里寻找的是最佳吞吐量。从我在数据中看到的,他们将CLOB加载到数据库中更快,但基于XMLSchema的检索速度更快。
谢谢,Joaquín。
答案 0 :(得分:3)
在Oracle中使用对象意味着可能会影响性能的多个SQL/PLSQL
上下文切换。
如果您在Oracle端没有对XML
做任何事情,请保持LOBs
。
XML
时,即字节流)
事实上,如果您的服务器每秒处理的查询次数少于10
次,您几乎不会发现任何差异。
答案 1 :(得分:1)
如果您要选择或更新XML的部分内容而不是对象关系存储是可行的方法。唯一的缺点是,由于xml在内部被粉碎,因此删除了空格和格式,但正如文档所说,它仍然符合DOM。
如果您打算仅将数据库用作存储,并且将在客户端进行所有XML操作,请使用LOB存储选项。
如果您使用的是11g,它现在有一个XMLIndex,它可以在更新/选择使用LOB选项存储的XMLType字段时大大提高性能。