Maison >base de données >tutoriel mysql >Pourquoi ma colonne d'identité SQL Server 2012 s'incrémente-t-elle de 100 secondes après un redémarrage ?
Problème de croissance anormale de la colonne d'auto-incrémentation dans SQL Server 2012
Dans SQL Server 2012, un comportement inhabituel a été observé : la valeur d'auto-incrémentation de la colonne "ReceiptNo" dans la table "Fee" sautait par intermittence de 100. Ceci n’est pas cohérent avec le modèle d’incrémentation habituel des colonnes à incrémentation automatique.
Détails du comportement anormal :
Raison :
Ce comportement est le résultat des améliorations de performances introduites dans SQL Server 2012. Par défaut, la base de données met désormais en cache 1 000 valeurs lors de l'attribution d'une valeur d'incrémentation automatique à une colonne int. Après un redémarrage, les valeurs mises en cache inutilisées peuvent être perdues, provoquant des interruptions dans la séquence d'auto-incrémentation.
Référence du document :
Description de la documentation SQL Server :
"Pour des raisons de performances, SQL Server peut mettre en cache les valeurs d'auto-incrémentation, et lors d'une panne de base de données ou d'un redémarrage du serveur, certaines valeurs attribuées peuvent être perdues... Cela peut entraîner des écarts dans les valeurs d'auto-incrémentation lors de l'insertion ."
Solutions possibles :
Si les écarts dans les colonnes à incrémentation automatique sont un problème, envisagez les solutions de contournement suivantes :
Conseils importants :
Il est important de comprendre que ces solutions ne garantissent pas un fonctionnement complet et sans interstice. Les colonnes à incrémentation automatique ne garantissent pas en elles-mêmes une séquence sans interruption en raison d'échecs ou de transactions annulées. Pour des valeurs véritablement sans interruption, envisagez d'autres solutions telles qu'un algorithme personnalisé ou un générateur de clé externe.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!