1-sí, 2-sí, 3-sí, 4-sí.
También...
- ¿Realmente necesitas
BIGINT
? ? No serán 4 mil millones de valores enINT UNSIGNED
¿satisfacer? (Y ahorre la mitad del espacio). Presumiblementeid
es el PK de alguna otra tabla? Si es así, esa tabla también debería cambiarse. - Puede
state
ser normalizado? O convertido en unENUM
? Nuevamente ahorrando espacio.
El artículo 3 es peor que el mencionado debido a la necesidad de bloquear dos claves únicas.