If you write data once and request it many times, it will almost certainly be more efficient to parse the XML document once, save the data in the correct relational schema, and query the relational schema. XML parsing is not cheap, so the overhead of parsing potentially multiple XML documents every 5 minutes can be significant.
Of course, like all performance issues, your mileage may vary, so you can check it. If you use Oracle 11.2 and you store the data as binary XML (in this case it is stored after parsing) and you create the corresponding XMLIndexes in the XMLTypes that you store, the performance limit when exiting data in an XML document can be quite small. It should still be slower than the correct relational structure, but the difference may not be relevant to you.
Personally, I would prefer the relational storage approach to ignore performance issues altogether, as it makes it easier for others to interact with the data. There are many more developers who can write decent SQL than write worthy XPath expressions, and there are many more query tools that can generate reports from relational tables than they can generate reports from XML stored in a database.
Justin cave
source share