Quel est le plus grand numéro d’identification que l’autoincrement peut produire dans mysql

J’ai une firebase database qui est rapidement remplie de données que nous parlons de 10-20k lignes par jour.

Quelle est la limite d’une option d’identification avec et d’auto-incrémentation? Si ID est créé comme INTEGER alors je peux faire une valeur maximale de 2 147 483 647 pour les valeurs non signées?

Mais que se passe-t-il lorsque l’auto-incrémentation va au-delà? Est-ce que tout s’effondre? Quelle serait la solution alors?

Je suis sûr que beaucoup de gens ont de grandes bases de données et j’aimerais les entendre.

Je vous remercie.

Si vous craignez que cela ne devienne trop rapide, je définirais le PK comme BIGINT UNSIGNED. Cela vous donne une valeur maximale de 18446744073709551615, ce qui devrait être suffisant.

| Min. (inclusive) | Max. (inclusive) ----------------------------------------------------------------------------- INT Signed (+|-) | -2,147,483,648 | +2,147,483,647 ----------------------------------------------------------------------------- INT Unsigned (+) | 0 | 4,294,967,295 ----------------------------------------------------------------------------- BIGINT Signed (+|-) | -9,223,372,036,854,776,000 | +9,223,372,036,854,776,000 ----------------------------------------------------------------------------- BIGINT Unsigned (+) | 0 | 18,446,744,073,709,552,000 

Si vous avez la table mysql avec l’ID de colonne (INT non signé), et que la table a 4 294 967 295 enregistrements, vous essayez d’insérer 1 enregistrement supplémentaire, l’ID du nouvel enregistrement sera automatiquement modifié et défini au maximum “4,294,967,295”, de sorte que vous obtenez un message d’erreur MySQL. L’ Duplicate entry '4294967295' for key 'PRIMARY' , vous aurez des ID en double si la colonne est définie comme clé primaire.

2 solutions possibles:

  1. Approche facile : Étendez les limites en définissant l’ID BIGINT non signé , comme ce que Dan Armstrong a dit. Bien que cela ne signifie pas que c’est incassable! et la performance peut être affectée lorsque la table devient vraiment grande.
  2. Approche plus difficile: utilisez le partitionnement, qui est une approche un peu plus compliquée, mais qui offre de meilleures performances et ne limite vraiment pas la firebase database (votre seule limite est la taille de votre disque dur physique). Twitter (et d’autres sites Web similaires) utilisent cette approche pour leurs millions de tweets (enregistrements) par jour!