En primer lugar, está completamente bien tener estos huecos. No no hay problema . Es solo tu TOC lo que te obliga a pensar que estos números tienen que seguir un patrón, y NO LO SIGUEN.
auto_increment
no es una función de PHP, es una función de MySQLauto_increment
asegura que cada fila obtenga un único número. No trata con números secuencialesauto_increment
funciona de forma segura en un entorno concurrente; eso significa que hay muchos usuarios que se conectan a MySQL y hacen cosas, y todos ellos deben poder manejar la base de datos y no obtener la misma identificación para identificar una fila. Esto se hace a través de un proceso bastante complejo y esta es una de las razones por las queauto_increment
brechas de rendimientoauto_increment
es utilizado porInnoDB
para la organización física de registros en disco:utiliza la característica deauto_increment
y ese está produciendo un número que es más grande que el anterior (eso es lo que hace, más grande que el anterior, no secuencial). Usando esto, se construye un árbol b y los registros se escriben en secuencia en el disco duro. Manipulación deauto_increment
haceInnoDB
reequilibrar el árbol. Significa que pasa por los registros y recrea el índice si te metes con él, eso es algo que no quieres. nunca
Cuando lo piensas, ¿qué obtienes con los números secuenciales? Nada en realidad, excepto que probablemente tu cerebro duela menos porque hay un orden imaginario.
Para números secuenciales, use disparadores para crearlos. auto_increment
tiene un trabajo y solo un trabajo:producir único números.