Je fais une application pour fonctionner à la fois sur SQL Server et PostgreSQL, donc je pose cette question à propos des deux. Que se passe-t-il lorsque vous créez une clé primaire unique (à l'aide d'une séquence ou d'une chose de type auto-incrémentation) et que vous atteignez plus de 4 milliards d'enregistrements (32 bits)? Je ne dis pas que notre table aura 4 milliards d'enregistrements mais plutôt que 4 milliards d'enregistrements ont été créés parce que le RID ne fait que s'incrémenter. Donc, même si j'ai supprimé 3,9 milliards de ces enregistrements, mes RID sont toujours dans la fourchette de 4 milliards. Alors qu'est-ce qui se passe? Est-ce que la précision est de 64 bits ou est-ce que ça revient à 0 ou crache une erreur très critique? Dois-je m'inquiéter que même un RID 64 bits peut éventuellement déborder?Est-ce que des RID uniques vont jamais "déborder"?
Aussi, comment puis-je me battre contre cela? Existe-t-il une option ou un outil de nettoyage? Est-ce que je dois juste créer ma propre chose à chaque année ou reconstruire complètement la table pour obtenir des RIDs cohérents? (et donc aussi toucher beaucoup d'autres tables qui utilisent ces RID sont des clés étrangères)
Oui, les valeurs auto-incrémentées de 32 bits débordent. http://stackoverflow.com/questions/261815/upper-limit-for-autoincrement-primary-key-in-sql-server – jball
Vous ne serez pas en mesure de déborder un nombre de 64 bits dans toute votre vie, c'est juste trop grand . –
Dans toute ma vie? Ou dans environ 10 ans? Je ne vais certainement pas vouloir corriger ce bug dans 10 ans lorsque la base de données est pleine de données très critiques – Earlz