Quelle est la taille maximale du champ d'identité SQL Server (int)? p>
Je supprime et insère des chandeux d'enregistrements à la fois plusieurs fois par jour dans quelques tables et je suis curieux de savoir quel effet cela aura sur le champ d'identité automatique. P>
Je peux courir un emploi tous les soirs environ et tronquer ces données, si nécessaire. P>
J'apprécierais vos pensées. P>
merci. p>
4 Réponses :
Un Int vous mènera jusqu'à 2 147 483 647. P>
Un Bigint vous obtiendra 9,223 372 036 854 775 807. P>
Merci. En une journée, j'ai frappé un demi-million ... Donc, je ne pouvais probablement pas utiliser non plus sans tronquer de soi aussi souvent?
@Becky à un demi-million par jour, un Bigint serait seulement i> durer environ 50 539 024 859 ans. :-)
Ok, il y a ma réponse alors. Je ne vais pas m'inquiéter de ce qui se passe après cela :).
@Becky: vous allez probablement i> être à la retraite d'ici :-)
Oui, mais réfléchissez aux personnes comment doivent alors soutenir la base de données.
@PVieira: Je vais admettre que cette pensée m'a fait traverser une seconde, mais je ne pense pas que quiconque soit ici à ce moment-là ... je suis toujours inquiet à propos de l'affect de Bigint aura une incidence sur notre DB en ce moment cependant. Nous avons un dB massif et je dois vous inquiéter de chaque installation de table que je crée. Pensées s'il vous plaît?
@Becky si vous utilisez int, vous avez 4293 jours. N'est-ce pas assez? Ou faire un tronquage dans toutes les 11,7 ans, c'est trop? : P
Merci les gars. Je l'ai laissé comme int et j'ai créé un emploi pour tronquer une fois par an.
La limite est liée au type de données lui-même, pas avec le fait d'être incrémentation automatique.
Si vous êtes préoccupé par la taille maximale, vous pouvez démarrer la séquence inférieure à zéro et donc doubler la capacité, comme ceci: p>
C'est une idée intéressante. Mais, toujours, devrait-il encore être une préoccupation pour l'avenir, car cette suppression / insertion se déroulera au moins une ou deux fois par jour à partir de maintenant et sur?
Si vous pouvez vous le permettre, vous pouvez faire une table tronquée au lieu de supprimer; que vous la valeur d'identité sera réinitialisée et non incrémentée.
Je ne peux pas me le permettre. Voir Stackoverflow.com/questions/ 8564405 / ...
2 ^ 31 - 1 (2 147 483 647) est la gamme supérieure d'un int p>