I'm a programmer, I work on an application where our members (about 3,000) enter in data into a form on a quarterly basis. The form itself has about 120 fields, but every quarter some new fields are added and some are removed.
Is it a better for performance to have a data table with four columns (member_id, quarter_id, field_id, value) where each member adds 120 or so rows every quarter, or to have a flat table with 120+ columns, where new columns are added for new fields, and each member only adds one row per quarter?
Currently we're doing it like the latter, and we have about 67,000 records in it. I feel like the former is cleaner and simpler from a programming perspective, but it'd mean expanding that to around 8 million rows, and increasing by 350k+ every quarter.