Wie viel kostet es für ein Terabyte Festplatte, und verdichtet diese 7 Bytes wirklich die Mühe wert? Wenn Sie Statistiken und Berichte zu den Protokollen basierend auf der Zeit berechnen möchten, wird es sehr schmerzhaft sein, das Datum für die Verwendung in SQL-Abfragen zu dekomprimieren.
Mit Oracle einfach die Daten in eine Tabelle protokollieren - versuchen Sie nicht, zu viel zu protokollieren oder zu viele Indizes in der Protokolltabelle zu haben. Stellen Sie sicher, dass Ihre Protokolltabelle von Tag 1 bis zu den managbaren Größen partitioniert ist. Dies kann eine Partition pro Tag, Woche oder Monat sein, abhängig davon, wie viele Daten Sie generieren. Entwerfen Sie Ihre Hausordnung auch vom ersten Tag an.
Wenn Sie am Ende Ihrer 'Periode' eine neue Partition hinzufügen, wenn die Daten in die neue Partition gehen, können Sie 'alter partition move compress' verwenden, um die Daten zu komprimieren, um sie online auf weniger Speicherplatz zu speichern .
Es gibt viele Optionen, Sie müssen nur die Anforderungen durchdenken, die Sie versuchen müssen, um die beste Lösung zu finden. Je nachdem, was Sie tun, kann auch die Protokollierung in eine Datei eine Option sein - aber hüten Sie sich vor Tausenden und Abertausenden von Dateien in einem einzigen Verzeichnis, was ebenfalls Probleme verursachen kann.
Warum stören? Es ist eine winzige Menge an Platzeinsparungen. "nicht ganz so bequem" scheint mir eine Untertreibung. Die Verwendung einer der SQL-Datumsfunktionen erfordert jetzt manuelle Konvertierungen und erfordert spezielle Indexierungsstrategien. – RussellH
Ich würde mich auch nicht darum kümmern, aber ich bin nicht die Person, die die Frage stellt, die um den Raum besorgt zu sein scheint. Das Speichern einer kürzeren Menge spart Speicherplatz. Selbst bei Terabytes von Datenträgern können 3 Byte Overhead auf eine ausreichend kleine Zeilengröße addiert werden. Wenn die aufgezeichneten Informationen groß genug sind, dass die 3-Byte-Speicherung vernachlässigbar ist, dann verwenden Sie den vollständigen DATE-Typ. –
Die Abfrage muss mit geeigneten Funktionen nicht unerträglich schwierig sein. Es hängt davon ab, was Oracle ohnehin bietet, und ich bin nicht ausreichend mit den Details der Oracle-Datums-/Uhrzeitfunktionen vertraut, um eine detaillierte Antwort zu geben. –