Fördelarna med enums är:
- Prestandan är bättre. Du kan bara visa vad du får ut av kärntabellen istället för att antingen ha en separat uppslagstabell som översätter en kod till ett värde eller ha applogik som översätter en kod till ett värde. Detta kan vara särskilt användbart i datawarehouse-applikationer.
- Ad hoc SQL är lättare att skriva
Nackdelarna är:
- Kodning av visningsvärden i din databas ddl är dålig form. Om du översätter enum-värdet till ett annat visningsvärde i din app-kod, förlorade du många av fördelarna med att använda enums.
- Att lägga till värden kräver DDL-ändringar
- Försvårar språklokalisering
- Databasportabiliteten minskar