Я собираюсь взвесить это, даже если вы уже выбрали ответ. Да, слишком широкие таблицы могут вызвать проблемы с производительностью (и проблемы с данными), и их следует разделить на таблицы с однозначными отношениями. Это связано с тем, как база данных хранит данные (по крайней мере, в SQL Server не уверен насчет mySQl, но стоит почитать документацию о том, как база данных хранит и получает доступ к данным).
Тридцать столбцов могут быть слишком широкими, а могут и нет, это зависит от ширины столбцов. Если вы добавите общее количество байтов, которое займут ваши 30 столбцов, будет ли оно больше максимального количества байтов, которое может быть сохранено в записи?
Являются ли некоторые из столбцов теми, которые вам понадобятся реже, чем другие (другими словами, существует ли естественное разделение между необходимой и часто используемой информацией и другими вещами, которые могут появляться только в одном месте, а не везде), затем рассмотрите возможность разделения стол.
Если некоторые из ваших столбцов являются такими, как phone1, phone2, phone3 - тогда не имеет значения, сколько у вас столбцов, вам нужна связанная таблица с отношением один ко многим.
В общем, хотя 30 столбцов не очень большие и, вероятно, будут в порядке.