Design Pattern to Reduce Number Of Columns
Look at your table from the feature usage side:


If you always access a single record by id, or work with data sequentially (example - answer for all questions) - continue to use a single table
If you plan to make any group by, filter or search operation over a range of records - main table PK + columns for these operations, second (and more) - other tables. Example - select query for specific topic.
Have TEXT/BLOB - move to second table
If number of columns unpredictable - look for JSON type of column 


Real practice shows that 3-5, max 10 parameters are used for search and group by.
These columns have indexes, and if indexes are created properly (including for foreign keys) - all operations will be fast.