title: Storing XML data in database - many tables vs dumping xml in a column
body: <p>I want to store an xml that I receive in my java web service.
  Reports would be run every 5 mins to pull some data in the xml elements.</p>
  
  <p>I thought of two approaches to solve this problem.</p>
  
  <ol>
  <li><p>Create multiple tables in the database to capture the xml data.
  Basically each element will have its own column in the database.</p></li>
  <li><p>Dump the whole xml in a column that can store xml data. 
  For reporting purposes parse the value in the query itself.</p></li>
  </ol>
  
  <p>Which of the above approaches is better, 
  particularly in terms of performance?  This is critical since reports will be generated in very high frequency (every 5 mins).</p>
  
  <p>The xml schema is pretty complicated and not a simple one.</p>