Analysieren Sie das Auswahlproblem beim Speichern von Zeit- und Datumstypen in MySQL

Analysieren Sie das Auswahlproblem beim Speichern von Zeit- und Datumstypen in MySQL

In allgemeinen Anwendungen verwenden wir die Typen „Timestamp“, „Datetime“ und „Int“, um Zeitformate zu speichern:

int (entspricht Integer oder int in JavaBean)

1. Belegt 4 Bytes

2. Nach der Indizierung ist die Abfragegeschwindigkeit schnell

3. Bedingungsbereichssuche kann zwischen verwenden

4. Die von MySQL bereitgestellten Zeitfunktionen können nicht verwendet werden

Fazit: Geeignet für Datentabellen, die eine große Anzahl von Zeitbereichsabfragen erfordern

datetime (Datumstyp wird in JavaBean verwendet)

1. Belegt 8 Bytes

2. Lässt leere Werte zu, kann Werte anpassen und das System ändert den Wert nicht automatisch.

3. Tatsächlicher Formatspeicher (Speichert nur, was Sie gespeichert haben, und ruft dasselbe ab, was Sie gespeichert haben.)

4. Es hat nichts mit der ZEITZONE und der Konvertierung zu tun.

5. Sie können keinen Standardwert festlegen. Wenn Nullwerte nicht zulässig sind, müssen Sie den Wert des Datums-/Uhrzeitfelds manuell angeben, um Daten erfolgreich einzufügen.

6. Sie können die Variable now() verwenden, um beim Angeben des Werts des Datums-/Uhrzeitfelds automatisch die aktuelle Zeit des Systems einzufügen.

Fazit: Der Datums-/Uhrzeittyp eignet sich zum Aufzeichnen der ursprünglichen Erstellungszeit von Daten, denn unabhängig davon, wie Sie die Werte anderer Felder im Datensatz ändern, ändert sich der Wert des Datums-/Uhrzeitfelds nicht, sofern Sie ihn nicht manuell ändern.

Zeitstempel (Datums- oder Zeitstempeltyp in JavaBean)

1. Belegt 4 Bytes

2. Leere Werte sind zulässig, benutzerdefinierte Werte sind jedoch nicht zulässig, daher haben leere Werte keine Bedeutung.

3. TIMESTAMP-Werte dürfen nicht vor 1970 und nicht nach 2037 liegen. Dies bedeutet, dass ein Datum wie „1968-01-01“ zwar für einen DATETIME- oder DATE-Wert gültig ist, jedoch nicht für einen TIMESTAMP-Wert und in 0 konvertiert wird, wenn es einem solchen Objekt zugewiesen wird.

4. Der Wert wird im UTC-Format gespeichert (er speichert die Anzahl der Millisekunden)

5. Zeitzonenkonvertierung: Konvertieren Sie die aktuelle Zeitzone beim Speichern und konvertieren Sie sie beim Abrufen zurück in die aktuelle Zeitzone.

6. Der Standardwert ist CURRENT_TIMESTAMP(), was tatsächlich der aktuellen Systemzeit entspricht.

7. Die Datenbank ändert ihren Wert automatisch, sodass Sie beim Einfügen von Datensätzen weder den Namen noch den Wert des Zeitstempelfelds angeben müssen. Sie müssen beim Entwerfen der Tabelle lediglich ein Zeitstempelfeld hinzufügen. Nach dem Einfügen wird der Wert des Felds automatisch zur aktuellen Systemzeit.

8. Wenn Sie in Zukunft irgendwann einen Datensatz in der Tabelle ändern, wird der Zeitstempelwert des entsprechenden Datensatzes automatisch auf die aktuelle Systemzeit aktualisiert.

Fazit: Der Zeitstempeltyp eignet sich zum Aufzeichnen der letzten Änderungszeit von Daten, da der Wert des Zeitstempelfelds automatisch aktualisiert wird, sobald Sie den Wert anderer Felder im Datensatz ändern.

Zusammenfassen

Oben geht es um die Analyse des Auswahlproblems beim Speichern von Zeit- und Datumstypen in MySQL. Interessierte Freunde können sich folgendes ansehen: Beispiel für Optimierungsfähigkeiten in MySQL-Anweisungsunterabfragen, Beispielanalyse für die Optimierung von MySQL-Unterabfragen und verschachtelten Abfragen, MySQL-Optimierung mit Verbindung (Join) anstelle von Unterabfragen usw. Wenn Sie Fragen haben, können Sie jederzeit eine Nachricht hinterlassen und der Herausgeber wird Ihnen rechtzeitig antworten. Ich hoffe, das hilft Ihnen allen.

Das könnte Sie auch interessieren:
  • Erläuterung des Problems bei der Auswahl des MySQL-Speicherzeittyps
  • So wählen Sie den richtigen MySQL-Datums-/Uhrzeittyp zum Speichern Ihrer Zeit
  • Lösen Sie das Problem der inkonsistenten MySQL-Speicherzeit
  • MySQL-Anweisung zum Abrufen aller Daten oder Monate in einem angegebenen Zeitraum (ohne Festlegen gespeicherter Prozeduren oder Hinzufügen von Tabellen)
  • Best Practices-Handbuch zum Speichern von Daten in MySQL

<<:  js implementiert Tabellen-Drag-Optionen

>>:  Detaillierte Erklärung zur Begrenzung des Update-/Löschbereichs mit dem MySQL-Parameter sql_safe_updates

Artikel empfehlen

Eine kurze Analyse von Kubernetes-Controllern und -Labels

Inhaltsverzeichnis 01 Gemeinsame Controller in k8...

Linux-Unlink-Funktion und wie man Dateien löscht

1. Unlink-Funktion Bei Hardlinks wird mit „unlink...

Oberflächliches Webdesign

<br />Ich war schon immer der Meinung, dass ...

Detaillierte Analyse der Kompilierung und Installation von vsFTP 3.0.3

Details zur Sicherheitsanfälligkeit VSFTP ist ein...

So stellen Sie Go-Webanwendungen mit Docker bereit

Inhaltsverzeichnis Warum brauchen wir Docker? Bei...

Sehr detaillierte JavaScript-Implementierung eines Webseiten-Karussells

Inhaltsverzeichnis Erstellen von HTML-Seiten Impl...

Implementierung des Wasserfall-Layouts im Uni-App-Projekt

GitHub-Adresse, Sie können es mit einem Stern mar...

10 beliebte Windows-Apps, die auch unter Linux verfügbar sind

Laut dem Datenanalyseunternehmen Net Market Share...

So überwachen Sie MySQL mit Zabbix

Dokumentation zur Zabbix-Bereitstellung Nach der ...

Ein kurzer Vortrag über die Variablenförderung in JavaScript

Inhaltsverzeichnis Vorwort 1. Welche Variablen we...

So stellen Sie mit Docker schnell einen Elasticsearch-Cluster bereit

In diesem Artikel werden Docker Container (orches...

MySql fügt Daten erfolgreich ein, meldet aber [Err] 1055 Fehlerlösung

1. Frage: Ich habe in diesen Tagen Einfügevorgäng...