150-битные поля могут быть в порядке, но вы также должны учитывать максимальную длину записи, которую ваша база данных позволит вам сохранить. С полями varchar большинство баз данных позволят вам создать таблицу, которая теоретически будет нарушать максимум, если все поля заполнены до их максимальной длины. Однако, это не позволит вам добавлять записи, которые слишком длинные. Это та ловушка, которая может прекрасно работать годами, пока кто-то не поместит слишком много символов в потенциальную вставку, а затем взорвется, и, как правило, требуется много времени, чтобы найти решение этой проблемы. Лучше избегать проектирования таблицы, в которой общая длина столбцов превышает длину максимальных байтов записи.
Менее широкие таблицы также могут быстрее выполнять запросы.
Добавление 150 столбцов обычно является признаком того, что вам действительно нужно взглянуть на дизайн и посмотреть, будет ли связанная таблица лучше. Например, если у вас есть phone1, phone2, phone3, вам нужен соответствующий телефонный стол.
Если вам действительно нужны все 150 столбцов, подумайте, какие из них, скорее всего, будут запрашиваться чаще всего. Положите те, родительская таблица. Затем добавьте менее часто запрашиваемые (или столбцы, связанные только с определенной функцией) в связанную таблицу. Нет причин не иметь отношения 1-1 между таблицами, просто используйте идентификатор из таблицы parante, например, PK в дочерней таблице, а также FK для родительской таблицы.