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

Tutorial zur Installation von VMWare15.5 unter Linux

Um VMWare unter Linux zu installieren, müssen Sie...

So installieren Sie Linux Flash

So installieren Sie Flash unter Linux 1. Besuchen...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.7.20 (Win10)

In diesem Artikel wird die Installations- und Kon...

Linux Dateisystemtyp anzeigen Beispielmethode

So überprüfen Sie den Dateisystemtyp einer Partit...

Verwendung des Linux-Befehls ifconfig

1. Befehlseinführung Der Befehl ifconfig (Netzwer...

Implementierung des klassischen CSS-Sticky-Footer-Layouts

Was ist ein Sticky-Footer-Layout? Unser übliches ...

Installationshinweise zur komprimierten Version von MySQL 5.7.17

In diesem Artikel werden die Installationsschritt...

Erläuterung der neuen Funktion von Hadoop 2.X, der Papierkorbfunktion

Durch Aktivieren der Papierkorbfunktion können Si...

Detaillierter Installationsprozess von MySQL5.6.40 unter CentOS7 64

MySQL5.6.40-Installationsprozess unter CentOS7 64...

Implementierung des HTML-Gleit- und Schwebeball-Menüeffekts

CSS-Stile html,Text{ Breite: 100 %; Höhe: 100%; R...

So ändern Sie die Größe von Partitionen in CentOS7

Gestern habe ich jemandem bei der Installation ei...