Jetzt weiß ich, dass Bigint 2 ^ 64 ist; das heißt, mehr Atome als im bekannten Universum. Ich sollte mir keine Sorgen machen, denn mein bloßes menschliches Gehirn kann die Ungeheuerlichkeit dieser Zahl einfach nicht umgehen.
Nehmen wir jedoch an, dass ich jede Änderung in jeder Kategorie, Produkt und Reihenfolge in meinem System vom Start bis zum Ende der Zeit aufzeichne. Sollte ich über die Leistung von Tabellenschreibvorgängen besorgt sein, bevor ich mir Sorgen darüber mache, dass die Primärschlüsselwerte nicht mehr ausreichen? Sollte ich Ereignisse unterschiedlicher Prioritäten in verschiedenen Ereignistabellen aufzeichnen? Werden mir auf einer Festplatte die Atome ausgehen, bevor mir die Bigints ausgehen? Wie groß sollte ich eine Event-Log-Tabelle bekommen lassen, bevor ich mit dem Archivieren / Löschen beginne?
"Wie groß sollte ich eine Event-Log-Tabelle bekommen lassen, bevor ich mit der Archivierung / Löschung beginne?"
Löschen Sie niemals die Ereignisprotokolle - die Informationen haben einen signifikanten Wert.
Wenn jedoch ein Manager darauf besteht, dass ein Archiv erforderlich ist, können Sie die Speicherkosten im Vergleich zu den Kosten Ihrer Zeit angeben, um (a) darüber nachzudenken, (b) eine zweite und dritte Meinung einzuholen und dann (c ) schreibe eine Prozedur zum Archivieren von Protokollsätzen.
Die Lagerkosten sinken. Ihre Zeit ist besser auf etwas anderes als das Löschen von Protokolldatensätzen.
Unterm Strich: Sie haben die Erlaubnis, mit den Händen aufzuhören. Es ist alles gut. Du machst keinen grundlegenden Fehler.
Es ist sehr unwahrscheinlich, dass Ihnen jemals Primärschlüsselwerte ausgehen. Möglicherweise müssen Sie jedoch berücksichtigen, wie Sie auf die Protokolltabelle zugreifen möchten, um Daten abzurufen. Verwenden Sie dies, um zu informieren, wann Sie die Daten archivieren oder bereinigen sollten. Wenn die Protokolldaten häufig gelesen werden, denken Sie darüber nach, Indizes hinzuzufügen, um die Leseleistung zu verbessern, bedenken Sie jedoch, dass Indizes für jeden hinzugefügten Datensatz gepflegt werden müssen.
Die Art und Weise, wie wir damit umgehen, besteht in der Bereitstellung einer Protokollarchivierungsfunktion, die die Protokolltabelle nach Jahren in separate Datenbanken aufteilt, sodass wir die Identität in unserer LogEvent-Tabelle zurücksetzen können.
Wir haben auch verschiedene Protokolltabellen, obwohl nur zwei Haupttabellen.
Tags und Links biginteger sql-server logging