Em teoria, o mySQL agora está limitado a 4096 colunas em uma tabela (um pouco menos considerando outras restrições, ou seja, valores NULL padrão etc.). Então, você tem uma margem muito grande.Pessoalmente, em um web dev eu tento manter # de colunas <50. Eu vi tabelas com mais de 100 colunas, e funcionou, mas é muito difícil manter essas tabelas. t tem que pesquisar nessas colunas, considere serializar no array php e armazenar valores em TEXT. É mais rápido e flexível.