Geen van beide. Normaal gesproken gebruik je tinyint met een opzoektabel
-
char(1) zal iets langzamer zijn omdat vergelijken gebruik maakt van sortering
-
verwarring:als je uitbreidt tot meer dan A en P
-
het gebruik van een letter beperkt u naarmate u meer typen toevoegt. Zie laatste punt.
-
elk systeem dat ik heb gezien heeft meer dan één klant, bijvoorbeeld rapportage. A en P moeten in elke klantcode worden omgezet in Actief en Passief
-
uitbreidbaarheid:voeg nog een type toe ("S" voor "Suspended"), je kunt één rij toevoegen aan een opzoektabel of veel code en beperkingen wijzigen. En ook uw klantcode
-
onderhoud:logica zit op 3 plaatsen:databasebeperking, databasecode en klantcode. Met een opzoek- en externe sleutel kan het op één plek zijn
-
Enum is niet draagbaar
Aan de positieve kant van het gebruik van een enkele letter of Enum
Opmerking:er is een gerelateerde DBA.SE MySQL-vraag over Enums . De aanbeveling is om daar ook een opzoektabel te gebruiken.