Il y a une énorme pénalité de performance à utiliser ENUM pour des opérations telles que :
-
Interroger la liste des valeurs autorisées dans le
ENUM, par exemple pour remplir un menu déroulant. Vous devez interroger le type de données à partir deINFORMATION_SCHEMA, et analyse la liste à partir d'un champ BLOB renvoyé. -
Modifiez l'ensemble des valeurs autorisées. Il nécessite un
ALTER TABLEinstruction, qui verrouille la table et peut effectuer une restructuration.
Je ne suis pas fan du ENUM de MySQL . Je préfère utiliser des tables de recherche. Voir aussi ma réponse à "Comment gérer les énumérations sans champs enum dans une base de données ?
"