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

Detailliertes Tutorial zum Herunterladen und Installieren von VMware Workstation

Virtuelle Maschinen sind eine sehr praktische Tes...

So legen Sie eine feste IP-Adresse in einer virtuellen CentOS7-Maschine fest

Da meine Entwicklungsumgebung darin besteht, Cent...

Natives JS zum Erzielen eines Puzzle-Effekts

In diesem Artikel wird der spezifische Code von n...

So verwenden Sie den Fuser-Befehl im Linux-System

Was ist Fuser Command? Der Befehl fuser ist ein s...

Einführung in den strikten Modus von JavaScript verwenden Sie strikt

Inhaltsverzeichnis 1. Übersicht 1.1 Was ist der s...

Tutorial zu HTML-Tabellen-Tags (21): Zeilenrahmen-Farbattribut BORDERCOLOR

Um die Tabelle zu verschönern, können Sie für die...

Vue implementiert den Schnittstellen-Gleiteffekt

In diesem Artikelbeispiel wird der spezifische Co...

Vue Virtual DOM – Schnellstart

Inhaltsverzeichnis Virtueller DOM Was ist virtuel...

Installations- und Konfigurationstutorial von MySQL 8.0.16 unter Win10

1. Entpacken Sie MySQL 8.0.16 Der Ordner dada und...

Detaillierte Erläuterung des CocosCreator-Nachrichtenverteilungsmechanismus

Überblick Dieser Artikel beginnt mit der Einführu...