Det finns ett stort prestationsstraff straff att använda ENUM för operationer som:
-
Fråga listan över tillåtna värden i
ENUM, till exempel för att fylla i en rullgardinsmeny. Du måste fråga efter datatypen frånINFORMATION_SCHEMA, och analysera listan från ett returnerat BLOB-fält. -
Ändra uppsättningen av tillåtna värden. Det kräver en
ALTER TABLEuttalande, som låser tabellen och kan göra en omstrukturering.
Jag är inte ett fan av MySQL:s ENUM . Jag föredrar att använda uppslagstabeller. Se även mitt svar på "Hur hanterar man uppräkningar utan uppräkningsfält i en databas?
"