Если данные будут записываться один раз и запрашиваться много раз, почти наверняка будет эффективнее один раз проанализировать документ XML, сохранить данные в правильной реляционной схеме и запросить реляционную схему.Синтаксический анализ XML обходится недешево, поэтому затраты на анализ потенциально нескольких XML-документов каждые 5 минут могут быть существенными.
Конечно, как и все вопросы производительности, ваш пробег может варьироваться, поэтому его стоит протестировать.Если вы используете Oracle 11.2 и сохраняете данные в виде двоичного XML (в этом случае они сохраняются после анализа) и вы создаете соответствующие XMLIndexes для сохраняемых вами типов XML, снижение производительности при оставлении данных в документе XML может бытьдовольно маленький.Это все равно должно быть медленнее, чем правильная реляционная структура, но эта разница не может быть для вас значимой.
Лично я предпочел бы подход с реляционным хранилищем вообще, даже игнорируя проблемы с производительностью, потому что он облегчает другимвзаимодействовать с данными.Существует гораздо больше разработчиков, которые могут писать приличный SQL, чем могут написать приличные выражения XPath, и гораздо больше инструментов запросов, которые могут генерировать отчеты из реляционных таблиц, чем генерировать отчеты из XML, хранящегося в базе данных.