Informationen zur Auswahl des Uhrzeit-, Datums- und Zeichenfolgentyps in MySQL

Informationen zur Auswahl des Uhrzeit-, Datums- und Zeichenfolgentyps in MySQL

1. Verwendung von DATETIME und TIMESTAMP

Es gibt viele Datentypen in MySQL, die Uhrzeit und Datum darstellen, hauptsächlich YEAR, TIME, DATE, DATETIME, TIMESTAMP usw.

Interviewer fragte: Auswahl zwischen Zeitdatumstyp und Zeichenfolgentyp in MySQL

1. Ähnlichkeiten

Sowohl Datums- als auch Uhrzeitangaben sowie der Zeitstempel können Daten im Format JJJJ-MM-TTHH:MM:SS Jahr-Monat-Tag-Stunde-Minute-Sekunde darstellen.

2. Unterschiede

Die Datums-/Uhrzeitspeicherung hat nichts mit der Zeitzone zu tun (genauer gesagt unterstützt Datum/Uhrzeit nur eine Zeitzone, nämlich die Zeitzone des aktuellen Servers zum Zeitpunkt der Speicherung), während die Zeitstempelspeicherung mit der Zeitzone zusammenhängt.

Die Genauigkeit von Datum und Uhrzeit sowie Zeitstempel beträgt Sekunden. Datum und Uhrzeit sind unabhängig von der Zeitzone und haben einen großen Speicherbereich (1001-9999). Der Zeitstempel ist zeitzonenbezogen und hat einen kleinen Speicherbereich (1970-2038).

3. Auswahl

Abgesehen vom Speicherbereich und der Speichermethode gibt es zwischen TIMESTAMP und DATETIME keinen großen Unterschied. Natürlich ist TIMESTAMP für Geschäfte über Zeitzonen hinweg besser geeignet.

2. Verwendung der Datentypen varchar und text

Beim Speichern von Zeichenfolgen in MySQL können Sie die Typen Char, Varchar oder Text verwenden.

1. Ähnlichkeiten

Sowohl varchar als auch text können Zeichenfolgen mit variabler Länge speichern und die Obergrenze der Zeichenfolgenlänge beträgt 65535 Bytes.

2. Unterschiede

varchar ist schnell, verschwendet keinen Speicherplatz, verarbeitet keine nachstehenden Leerzeichen, hat eine Obergrenze von 65535 Bytes, aber eine Speicherlänge von 65532 Bytes. Wenn die Länge weniger als 255 Byte beträgt, wird 1 Byte zum Speichern der Länge verwendet. Wenn die Länge mehr als 255 Byte beträgt, werden 2 Byte zum Speichern der Länge verwendet. Text, speichert Daten variabler Länge, hat eine niedrige Geschwindigkeit, verschwendet keinen Speicherplatz, verarbeitet keine nachstehenden Leerzeichen, hat eine Obergrenze von 65535 Bytes und verwendet zusätzlichen Speicherplatz zum Speichern der Datenlänge, sodass alle 65535 Bytes verwendet werden können.

Sie können keinen Index für eine TEXT-Spalte platzieren (außer einem Volltextindex). Für Text können Sie nur einen Präfixindex hinzufügen, und die maximale Größe eines Präfixindex beträgt 1000 Byte.

Text hat keinen Standardwert

Wenn varchar größer als ein bestimmter Wert ist, wird es automatisch in Text umgewandelt. Die allgemeinen Regeln lauten wie folgt:

Größer als varchar(255) wird zu tinytext

Größer als varchar(500) wird zu Text

Größer als varchar(20000) wird zu mediumtext

3. Auswahl

1. Verwenden Sie varchar für Felder, die sich häufig ändern;

2. Wenn Sie die feste Länge kennen, verwenden Sie char;

3. Für Daten über 255 Bytes können nur varchar oder Text verwendet werden.

4. Verwenden Sie keinen Text, wo varchar verwendet werden kann.

5. Wenn Sie numerische Felder verwenden können, versuchen Sie, numerische Typen anstelle von Zeichenfolgentypen zu verwenden. Dies verringert die Abfrage- und Verbindungsleistung und erhöht den Speicheraufwand. Dies liegt daran, dass die Engine bei der Verarbeitung der Abfrage und der Verbindung jedes Zeichen in der Zeichenfolge einzeln vergleicht und für numerische Typen nur ein Vergleich ausreicht.

6. Der Einfluss der Speicher-Engine auf die Auswahl von CHAR und VARCHAR:

Für die MyISAM-Speicher-Engine empfiehlt es sich, Datenspalten mit fester Länge anstelle von Datenspalten mit variabler Länge zu verwenden. Dadurch wird die gesamte Tabelle statisch, der Datenabruf wird beschleunigt und Speicherplatz wird gegen Zeit getauscht. Für die InnoDB-Speicher-Engine ist es am besten, Datenspalten mit variabler Länge zu verwenden, da das Speicherformat von InnoDB-Datentabellen nicht zwischen fester und variabler Länge unterscheidet. Daher ist die Verwendung von CHAR nicht unbedingt besser als die Verwendung von VARCHAR. Da VARCHAR jedoch entsprechend der tatsächlichen Länge gespeichert wird, spart es Platz und ist besser für Festplatten-E/A und die gesamte Datenspeicherung.

Dies ist das Ende dieses Artikels über die Auswahl von Zeit- und Datumstypen und Zeichenfolgentypen in MySQL. Weitere relevante Inhalte zur Auswahl von Zeit- und Datumstypen und Zeichenfolgentypen in MySQL finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Zusammenfassung gängiger MySQL-Funktionsbeispiele [Aggregatfunktionen, Zeichenfolgen, Zahlen, Zeit- und Datumsverarbeitung usw.]

<<:  Beispielcode zur Implementierung einer dynamischen leuchtenden Spezialeffektanimation von Kreisen mit reinem CSS3

>>:  CnBlogs - Teilen im benutzerdefinierten Blogstil

Artikel empfehlen

Praktischer Bericht zur Lösung des MySQL Deep Paging-Problems

Inhaltsverzeichnis Vorwort Warum wird Limit Deep ...

Detaillierte Untersuchung des MySQL-Verbundindex

Ein zusammengesetzter Index (auch gemeinsamer Ind...

MySQL-Cursorfunktionen und -Verwendung

Inhaltsverzeichnis Definition Die Rolle des Curso...

So verwenden Sie http und WebSocket in CocosCreator

Inhaltsverzeichnis 1. HttpGET 2. HTTP POST WebSoc...

Zusammenfassung der Namenskonventionen für HTML und CSS

CSS-Benennungsregeln Header: Header Inhalt: Inhalt...

Detaillierte Erklärung der allgemeinen Verwendung von MySQL-Abfragebedingungen

Dieser Artikel veranschaulicht anhand von Beispie...

So ändern Sie den Hostnamen in Linux

1. Den aktuellen Hostnamen anzeigen [root@fangjia...

So bereinigen Sie schnell Milliarden von Daten in einer MySQL-Datenbank

Heute habe ich eine Festplattenalarm-Ausnahme erh...

Installation und Daemon-Konfiguration von Redis unter Windows und Linux

# Installations-Daemon-Konfiguration für Redis un...

So stellen Sie Solidity-Smart-Contracts mit ethers.js bereit

Wenn Sie DApps auf Ethereum entwickelt haben, hab...

Installations-Tutorial zur MySQL 5.7.17 Zip-Paketversion unter Win10

Das Installationstutorial für mysql5.7.17 wird Ih...

Next.js – Erste Schritte-Tutorial

Inhaltsverzeichnis Einführung Erstellen eines Nex...