Prima di tutto, è completamente bene avere queste lacune. Non ci sono nessun problema . È solo il tuo disturbo ossessivo compulsivo che ti costringe a pensare che questi numeri debbano seguire uno schema, ma NON lo fanno.
auto_increment
non è una funzionalità PHP, è una funzionalità MySQLauto_increment
assicura che ogni riga ottenga un unico numero. Non si occupa di numeri sequenzialiauto_increment
funziona in modo sicuro in un ambiente simultaneo, ciò significa che ci sono molti utenti che si connettono a MySQL e fanno cose, e tutti devono essere in grado di gestire il database e non ottenere lo stesso ID per identificare una riga. Questo avviene attraverso un processo piuttosto complesso e questo è uno dei motivi per cuiauto_increment
divari di rendimentoauto_increment
è usato daInnoDB
per l'organizzazione fisica dei record su disco - utilizza la funzione diauto_increment
e quello sta producendo un numero più grande del precedente (è quello che fa, più grande del precedente, non sequenziale). Usando questo, viene costruito un b-tree e i record vengono scritti in sequenza sul disco rigido. Manomissione diauto_increment
rendeInnoDB
riequilibrare l'albero. Significa che passa attraverso i record e ricrea l'indice se lo mandi - è qualcosa che non vuoi. Sempre
Quando ci pensi, cosa ottieni con i numeri sequenziali? Niente in realtà, tranne che probabilmente il tuo cervello fa meno male perché c'è un ordine immaginario.
Per i numeri sequenziali, usa i trigger per crearli. auto_increment
ha un lavoro e un solo lavoro:produrre unico numeri.