2009-02-10 106 views
2

我正在寻找将XML存储在Oracle数据库中的最佳方法。目前我们使用BLOB类型的列,但是我正在推动将此列移动到基于XMLType或XMLType模式的列。我刚刚从Oracle上找到这篇文章XML: To CLOB or Object?并阅读,但我还没有下定决心。在Oracle数据库中存储XML的最佳列是什么?

那么有没有人经历过同样的问题? 此外,这个想法是XML将通过Red5服务器完全获取到Flash客户端,所以我在这里寻找的是最好的吞吐量。根据我在数据中看到的数据,他们提供的CLOB加载速度更快,但基于XMLSchema的检索速度更快。

谢谢,华金。

+0

我无法找到引用的文章。目前在Oracle Magazine网站上提供的最早期问题是[2005年1月 - 2月](http://www.oracle.com/technetwork/issue-archive/2005/05-jan/index-090627.html )文章的日期到2003年。 – user272735 2011-05-27 07:40:27

回答

3

在Oracle中使用对象意味着多个可能影响性能的SQL/PLSQL上下文切换。

如果您在Oracle方面没有对XML执行任何操作,则保留为LOBs

“优秀DML性能”上市还有,嗯,言过其实(把/检索未处理XML,即字节流的说话的时候)

事实上,如果你的服务器将处理小于每秒10查询,你几乎不会注意到任何差异。

1

如果您打算选择或更新XML的一部分而不是对象关系存储,唯一的缺点是,由于xml在内部被切碎,空白和格式化被删除,但是文档说它仍然符合DOM。

如果您打算仅将数据库用作存储,并且所有XML操作都将在客户端执行,请使用LOB存储选项。

如果您使用11g,它现在具有XMLIndex,它在更新/选择存储在LOB选项中的XMLType字段时极大地提高了性能。

相关问题