1-ja, 2-ja, 3-ja, 4-ja.
Också...
- Behöver du verkligen
BIGINT
? Kommer inte 4 miljarder värden iINT UNSIGNED
räcka? (Och spara halva utrymmet.) Förmodligenid
är PK för något annat bord? Om så är fallet skulle den tabellen också behöva ändras. - Kan
state
normaliseras? Eller förvandlas till enENUM
? Återigen sparar utrymme.
Punkt 3 är sämre än nämnt på grund av behovet av att låsa på två unika nycklar.