C'è una prestazione enorme penalità all'utilizzo di ENUM
per operazioni quali:
-
Interroga l'elenco dei valori consentiti in
ENUM
, ad esempio per popolare un menu a discesa. Devi interrogare il tipo di dati daINFORMATION_SCHEMA
e analizza l'elenco da un campo BLOB restituito. -
Modificare l'insieme dei valori consentiti. Richiede un
ALTER TABLE
istruzione, che blocca la tabella e può eseguire una ristrutturazione.
Non sono un fan di ENUM
di MySQL . Preferisco usare le tabelle di ricerca. Vedi anche la mia risposta a "Come gestire le enumerazioni senza campi enum in un database?
"