Para tablas InnoDB , el límite es de 3072 bytes en todas las columnas indexadas, presumiblemente tomando solo los primeros 767 bytes de cada columna.
http://dev.mysql.com/doc/refman /5.1/es/innodb-restricciones.html
Entonces, basado estrictamente en la documentación, diría que podría tener hasta 1000 columnas en su índice (el número máximo de columnas en una tabla InnoDB), siempre que el tamaño promedio de cada una sea de 3 bytes o menos.
Para tablas MyISAM , es el menor de 16 columnas o 1000 bytes.
http://dev.mysql.com/doc /refman/5.0/en/myisam-storage-engine.html