Parece que veo mucha gente asignando arbitrariamente tamaños grandes a campos clave primarios/foráneos en sus esquemas MySQL, como INT (11) e incluso BIGINT (20) como usa WordPress.Tamaño de clave principal/externa de MySQL?
Ahora me corrija si estoy equivocado, pero incluso un INT (4) apoyarían (sin firmar) valores de hasta más de 4 mil millones. Cámbialo a INT (5) y permite valores de hasta un cuatrillón, que es más de lo que necesitaría, a menos que esté almacenando geodatos en NASA/Google, y estoy seguro de que la mayoría de nosotros no lo estamos.
¿Hay alguna razón la gente utiliza estos tamaños grandes para sus claves primarias? Me parece un desperdicio ...
No, el campo de tamaño está en caracteres no bytes binarios. Así que int (4) solo puede contener hasta 9999 (en teoría, la base de datos puede almacenarlo internamente como más grande). INT (11) es en realidad solo un número de 32 bits. – MarkR