Конечно, стандартный ответ - , это зависит . В некоторых ситуациях таблица с таким количеством полей может иметь большой смысл.
Подумайте о данных, которые вы там будете хранить. Вполне вероятно, что многие из этих полей будут NULL? Какова вероятность того, что эти поля изменятся (например, добавлено больше)?
Если только определенные поля применяются к определенным объектам, возможно, стоит подумать о том, чтобы поместить эти поля в другую таблицу. В качестве альтернативы можно хранить только основные общие поля в одной таблице и дополнительную информацию в другой таблице, по одной строке на поле. В качестве я предложил для другой вопрос (который может быть вам полезен) :
refs (id, title, refType)
-- title of the reference, and what type of reference it is
fieldDef (id, fieldName, refType, dataType)
-- name of the field, which reference types it applies to, and
-- what type of data is stored in these fields (ISDN number, date, etc)
fields (refId, fieldId, value)
-- where you actually add data to the references.
Обратите внимание, что это было понижено , и, вероятно, по уважительной причине. Это вариант , не обязательно лучший вариант, но это все еще работоспособный метод. Однако лучший ответ в вопросе, с которым я связан, может быть лучшим решением.
Редактировать: так как вы говорите, что он будет содержать такие вещи, как настройки для каждого пользователя (например, цвет виджета), я бы фактически рекомендовал метод, описанный выше (с тремя таблицами). Скорее всего, большинство людей оставят вещи по умолчанию, поэтому у вас будет стопка бесполезной информации. Пожалуйста, прочитайте мой ответ на другой вопрос, потому что другие читатели указали на недостатки этого метода.