Há uma enorme penalidade de desempenho para usar
ENUM para operações como:-
Consulte a lista de valores permitidos noENUM, por exemplo, para preencher um menu suspenso. Você precisa consultar o tipo de dados deINFORMATION_SCHEMAe analise a lista de um campo BLOB retornado.
-
Altere o conjunto de valores permitidos. Requer umALTER TABLEinstrução, que bloqueia a tabela e pode fazer uma reestruturação.
Não sou fã do
ENUM do MySQL . Eu prefiro usar tabelas de pesquisa. Veja também minha resposta para "Como lidar com enumerações sem campos de enumeração em um banco de dados?
"