title: Which is faster: Many rows or many columns?
body: <p>In MySQL, is it generally faster/more efficient/scalable to return 100 rows with 3 columns, or 1 row with 100 columns?</p>
  
  <p>In other words, when storing many key => value pairs related to a record, is it better to store each key => value pair in a separate row with with the record_id as a key, or to have one row per record_id with a column for each key?</p>
  
  <p>Also, assume also that keys will need to be added/removed fairly regularly, which I assume would affect the long term maintainability of the many column approach once the table gets sufficiently large.</p>
  
  <p><b>Edit:</b> to clarify, by "a regular basis" I mean the addition or removal of a key once a month or so.</p>