Ani. Obvykle byste použili tinyint s vyhledávací tabulkou
-
char(1) bude o něco pomalejší, protože porovnávání používá řazení
-
zmatení:Když se rozšíříte na více než A a P
-
použití písmene vás omezuje při přidávání dalších typů. Viz poslední bod.
-
každý systém, který jsem viděl, má více než jednoho klienta, např. reporting. A a P musí být v každém klientském kódu přeloženy na aktivní a pasivní
-
rozšiřitelnost:přidejte jeden další typ („S“ pro „Pozastaveno“), můžete jeden řádek do vyhledávací tabulky nebo změnit mnoho kódu a omezení. A váš klientský kód také
-
údržba:logika je na 3 místech:omezení databáze, kód databáze a kód klienta. Díky vyhledávání a cizímu klíči to může být na jednom místě
-
Enum není přenosné
Výhodou je použití jediného písmene nebo Enum
Poznámka:Existuje související otázka MySQL týkající se enumů DBA.SE . Doporučení je použít i tam vyhledávací tabulku.