Varken. Du skulle vanligtvis använda tinyint med en uppslagstabell
-
char(1) kommer att vara något långsammare eftersom jämförelse använder sortering
-
förvirring:När du utökar till mer än A och P
-
att använda en bokstav begränsar dig när du lägger till fler typer. Se sista punkten.
-
varje system jag har sett har mer än en klient, t.ex. rapportering. A och P måste lösas till Aktiv och Passiv för i varje klientkod
-
utvidgbarhet:lägg till ytterligare en typ ("S" för "Suspenderad") du kan en rad i en uppslagstabell eller ändra en massa kod och begränsningar. Och din klientkod också
-
underhåll:logik finns på tre ställen:databasbegränsning, databaskod och klientkod. Med en uppslagning och främmande nyckel kan den finnas på ett ställe
-
Enum är inte bärbar
På plussidan av att använda en enda bokstav eller Enum
Obs:det finns en relaterad DBA.SE MySQL-fråga om Enums . Rekommendationen är att använda en uppslagstabell där också.