Каков наилучший столбец для хранения XML в базе данных Oracle? - PullRequest
3 голосов
/ 10 февраля 2009

Я ищу лучший способ хранения XML в базе данных Oracle. В настоящее время мы используем столбец типа BLOB, но я пытаюсь переместить этот столбец в столбец на основе схемы XMLType или XMLType. Я только что нашел эту статью XML: в CLOB или Object? из Oracle и прочитал ее, но я еще не решил.

Так кто-нибудь сталкивался с таким же вопросом раньше? Кроме того, идея заключается в том, что XML будет полностью загружен во Flash-клиент через сервер Red5, поэтому здесь я ищу лучшую пропускную способность. Из того, что я вижу в данных, которые они предоставляют, CLOB загружается быстрее в базу данных, но на основе XMLSchema быстрее для поиска.

Спасибо, Хоакин.

Ответы [ 2 ]

3 голосов
/ 10 февраля 2009

Работа с объектами в Oracle подразумевает несколько SQL/PLSQL переключений контекста, которые могут повлиять на производительность.

Если вы ничего не делаете с XML на стороне Oracle, то оставайтесь как LOBs.

"Превосходная производительность DML", перечисленная здесь, является завышением (если говорить о установке / извлечении необработанного XML, то есть потока байтов)

На самом деле, если ваш сервер будет обрабатывать менее 10 запросов в секунду, вы вряд ли заметите разницу вообще.

1 голос
/ 10 февраля 2009

Если вы собираетесь выбирать или обновлять только части XML, лучше всего использовать объектное реляционное хранилище. Единственным недостатком является то, что, поскольку xml измельчен внутри, пробелы и форматирование удалены, но, как говорится в документе, он по-прежнему соответствует DOM.

Если вы собираетесь использовать базу данных только в качестве хранилища и все манипуляции с XML будут выполняться на стороне клиента, используйте опцию хранилища больших объектов.

Если вы используете 11g, теперь у него есть XMLIndex, который значительно повышает производительность при обновлении / выборе полей XMLType, хранящихся с опцией LOB.

...