Ho una tabella dove, facendo uno stress test, ho inserito 1000 record.

La tabella ha questi campi:
codice:
+---------------------+---------------------+------+-----+---------+----------------+
| Field               | Type                | Null | Key | Default | Extra    |
+---------------------+---------------------+------+-----+---------+----------------+
| id                  | bigint(20) unsigned | NO   | PRI | NULL    | auto_increment |
| db_now_time         | datetime            | NO   | MUL | NULL    |    |
| db_sysdate_time     | datetime            | NO   |     | NULL    |    |
| php_gmdate_iso_8601 | varchar(30)         | NO   |     | NULL    |    |
| php_gmdate_rfc_2822 | varchar(35)         | NO   |     | NULL    |    |
| php_date_iso_8601   | varchar(30)         | NO   |     | NULL    |    |
| php_date_rfc_2822   | varchar(35)         | NO   |     | NULL    |    |
| php_time            | bigint(20)          | NO   |     | NULL    |    |
| php_microtime       | varchar(20)         | NO   |     | NULL    |    |
| extra_info          | varchar(255)        | YES  |     | NULL    |    |
+---------------------+---------------------+------+-----+---------+----------------+
come si può vedere, memorizzo anche i secondi e i microsecondi generati dallo script php.
In tutti i miei test, a partire dal record 300 circa, l'ID auto increment inizia a non essere più sequenziale, infatti se ordine i record per php_time e php_microtime, entrambi ASC, la lista degli id inizia ad essere:
codice:
+-----+
| id  |
+-----+
| 302 |
| 301 |
| 304 |
| 305 |
| 303 |
| 306 |
| 309 |
| 307 |
| 308 |
| 310 |
+-----+
(se invece non indico alcu Order By, l'ordine è quello della chiave primaria, ID).

Ho trovato pochissime informazioni in rete, le più interessanti si limitavano a dire che l'auto increment di per sè non assicura una numerazione sequenziale, piuttosto un valore univoco.
Però non capisco come logicamente e fisicamente sia possibile che un record venga memorizzato con un ID superiore rispetto a quello che viene memorizzato successivamente ad esso.

PS: ho fatto prove anche forzando il lock della tabella

Grazie


Ciaoooooo!!!!