Depending on requirements amount of columns in a list can differ. There has been discussions on other websits regarding performance and amount of columns.
There is usually three common options:
- Have all columns in the same list and enable indexing.
- Try to group the columns and create lists based on the amount of groups and connect them by using reference IDs
- Skip Sharepoint and use SQL instead to store the data.
About deciding which approach to go can be complicated.
Here is a scenario:
Let's say 50 columns needs to be stored everytime users complete a form, would option 1 be a viable choice?
It's mostly choice fields and normal text fields.
Each row with its 50 column data will later be generated to a word file.