Der er en enorm præstations-straf til at bruge ENUM
til operationer som:
-
Forespørg på listen over tilladte værdier i
ENUM
, for eksempel for at udfylde en rullemenu. Du skal forespørge datatypen fraINFORMATION_SCHEMA
, og parse listen ud af et returneret BLOB-felt. -
Ændre sættet af tilladte værdier. Det kræver en
ALTER TABLE
sætning, som låser bordet og kan lave en omstrukturering.
Jeg er ikke fan af MySQL's ENUM
. Jeg foretrækker at bruge opslagstabeller. Se også mit svar til "Hvordan håndterer man optællinger uden enum-felter i en database?
"