2009-02-10 142 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字段時極大地提高了性能。