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 TABLE
uttalande, 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?
"