MySQL bietet für die Verarbeitung von Datum und Uhrzeit zwei sehr ähnliche Typen, DATETIME und TIMESTAMP. In den meisten Fällen sind beide in Ordnung, in manchen Fällen hat jedoch jeder seine eigenen Vor- und Nachteile. DATETIMEDATETIME hat einen größeren Zeitraum von 1001 bis 9999 mit einer Genauigkeit von Sekunden. Das Speicherformat besteht darin, Datum und Uhrzeit zu packen und als Ganzzahl im Format JJJJMMTThhmmss zu speichern. Diese Zeit ist unabhängig von der Zeitzone und belegt 8 Byte Speicherplatz. Standardmäßig zeigt MySQL DATETIME in einem geordneten, eindeutigen Format an, beispielsweise 2021-06-02 18:35:23. Dies ist das ANSI-Standardformat für Datum und Uhrzeit. ZEITSTEMPELTIMESTAMP ist ein Zeitstempel, der die Anzahl der Sekunden seit Mitternacht Greenwich Mean Time (GMT) am 1. Januar 1970 speichert. Entspricht dem Zeitstempel auf Unix-Systemen. TIMESTAMP benötigt zum Speichern nur 4 Bytes und kann daher einen kleineren Zeitraum von 1970 bis 2038 darstellen. MySQL stellt die Funktionen FROM_UNIXTIME und UNIX_TIMESTAMP bereit, um die Konvertierung zwischen Zeitstempeln und Daten durchzuführen. Ab MySQL Version 4.1 ähnelt das von TIMESTAMP angezeigte Format DATETIME, die Anzeige von TIMESTAMP hängt jedoch von der Zeitzone ab. Der MySQL-Server, das Betriebssystem und die Clientverbindung verfügen alle über Zeitzoneneinstellungen. Wenn Zeiten aus mehreren Zeitzonen gespeichert werden, kann der Unterschied zwischen TIMESTAMP und DATETIME daher erheblich sein. TIMESTAMP behält bei Verwendung die Zeitzoneninformationen bei, während DATETIME lediglich Text zur Darstellung der Zeit verwendet. TIMESTAMP hat zusätzliche Funktionen. Standardmäßig verwendet MySQL die aktuelle Zeit zum Einfügen in die Spalte TIMESTAMP, wenn kein Wert angegeben ist, und verwendet die aktuelle Zeit zum Aktualisieren des Felds, wenn während der Aktualisierung kein Wert angegeben ist. Nehmen Sie die folgende Testtabelle als Beispiel: Tabelle erstellen t_time_test ( ID INT Primärschlüssel, t_stamp ZEITSTEMPEL, t_datetime DATETIME ); Sie können sehen, dass der von MySQL vorgegebene Standardwert der aktuelle Zeitstempel CURRENT_TIMESTAMP ist und dass ein ON UPDATE CURRENT_TIMESTAMP vorhanden ist, um anzuzeigen, dass er entsprechend aktualisiert wird: INSERT INTO t_time_test(id, t_datetime) WERTE (1, NULL), (2, '2021-06-02 18:48:04'), (3, NULL); Sie können sehen, dass die Spalte t_stamp automatisch mit der aktuellen Zeit gefüllt wird. Mit dieser Funktion können wir das Feld für die Datenaktualisierungszeit über das IoT-Programm verwalten und es von MySQL vervollständigen lassen. Wie man wähltAus Sicht der Eigenschaften ist TIMESTAMP möglicherweise für die Zeitspeicherung vorzuziehen, da es effizienter ist als DATETIME. Manche Leute verwenden Ganzzahlen zum Speichern von Unix-Zeitstempeln, aber dieser Ansatz bietet keinerlei Vorteile und Ganzzahlen erfordern zusätzliche Verarbeitung, weshalb er nicht empfohlen wird. Es gibt jedoch einige Situationen, in denen Sie TIMESTAMP nicht zum Speichern von Zeiten verwenden sollten:
So speichern Sie MillisekundenzeitNormalerweise müssen Sie BIGINT verwenden, um die Zeit zur Speicherung in eine Ganzzahl umzuwandeln, oder eine Gleitkommazahl verwenden und den Dezimalteil nutzen, um die Zeit mit einer Genauigkeit von weniger als einer Sekunde darzustellen. Beide Methoden sind möglich. Natürlich ist für die Formatkonvertierung zu diesem Zeitpunkt Anwendungsunterstützung erforderlich. AbschlussAus Sicherheitsgründen wird empfohlen, dem Typ DATETIME den Vorzug zu geben. Obwohl die Leistung im Vergleich zu TIMESTAMP etwas beeinträchtigt wird, ist der Zeitbereich von TIMESTAMP ein Fehler. Lassen Sie keine versteckte Gefahr. Wenn das Jahr 2038 kommt, ist Ihr Unternehmen möglicherweise börsennotiert und Programmierer stoßen möglicherweise auf eine Flut von Fehlern, ohne zu wissen, warum, was zu einem plötzlichen Absturz des Aktienkurses des Unternehmens führen kann! Dann finden Sie heraus, welcher Programmierer früher eine hohe Nummer im Unternehmen war, heute Aktionär ist und Sie als solcher finanzielle Freiheit erlangt haben! Finden Sie das nicht peinlich? Oben sind die Details zur Auswahl des MySQL-Zeittyps aufgeführt. Weitere Informationen zum MySQL-Zeittyp finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Die vernachlässigten Spezialeffekte von META-Tags (Seitenübergangseffekte)
>>: Detaillierte Erläuterung der häufig verwendeten Filter von Tomcat
Ich habe kürzlich die Tutorial-Reihe zu CSS-Anima...
Inhaltsverzeichnis 1. Verwendung von Keep-Alive A...
In früheren Blogbeiträgen habe ich mich auf einige...
Inhaltsverzeichnis Vorwort: erreichen: Zusammenfa...
Inhaltsverzeichnis 1. untergeordneter Prozess 2. ...
Webformulare sind der primäre Kommunikationskanal...
1. Overlay-Übersicht Overlay bedeutet Überlagerun...
1. Szenariobeschreibung: Mein Kollege hat mir gez...
Inhaltsverzeichnis Überblick 1. Entwickeln Sie di...
1. Einleitung Nach dem Start von MySQL wird Buffe...
Inhaltsverzeichnis Vorwort Pfeilfunktionen Beherr...
Hinweis 1: Lösen Sie das Problem der langsamen Ve...
Inhaltsverzeichnis Warum brauchen wir Docker? Bei...
Inhaltsverzeichnis 1. Docker installieren 2. Inst...
Inhaltsverzeichnis 1. Wo wird der selbstinkrement...