Die Suchleistung von der schnellsten bis zur langsamsten ist (hier ist, was ich gehört habe):
Erläuterung (Nachdruck): Ganzzahltypen 1. TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT, verwenden jeweils 8, 16, 24, 32, 64 Bytes 2. Alle Ganzzahlen verfügen über das optionale Attribut UNSIGNED (beispielsweise liegt der Wertebereich des Felds tinyint nach unsigned bei 0-255, während der Wertebereich von signed zwischen -128 und 127 liegt. Wenn wir also eindeutig keine negativen Werte benötigen, setzen wir signed normalerweise nicht, um negative Zahlen zu unterstützen.) 3. INT(1) und INT(20) sind für Speicherung und Berechnung gleich. N in INT(N) gibt lediglich die Anzahl der von einigen interaktiven Tools anzuzeigenden Zeichen an. Zeichentyp char hat eine feste Länge und ist nicht so effizient wie varchar, aber schlechter als varchar bei der Abfrage kurzer Daten Feste Länge. Wenn beispielsweise UUID als Primärschlüssel verwendet wird, wäre char geeigneter. NULL-Typ 1. Die Indizierung von NULL-Spalten erfordert zusätzlichen Speicherplatz 2. Beim Vergleichen und Berechnen werden Nullwerte verarbeitet, was zu Indexfehlern führen kann Versuchen Sie daher, den Typ NULL nicht zu verwenden, sondern eher Integer-Typen Darüber hinaus ist der Zeit-Datum-Datentyp 1. Verwenden Sie keine Zeichenfolgen zum Speichern von Datumsdaten, da dies Platz verschwendet 2. DATE kann Jahre von 1001 bis 9999 mit einer Genauigkeit von Sekunden speichern. Es fasst Datum und Uhrzeit in einer Ganzzahl im Format JJJJMMTTHHMMSS zusammen und verwendet dabei 8 Bytes. 3. TIMESTAMP speichert die Anzahl der Sekunden seit 1970, was dem Unix-Zeitstempel entspricht. Es kann nur 1970 bis 2038 speichern und verwendet 4 Bytes. 4. Die beiden Funktionen FROM_UNIXTIME() und UNIX_TIMESTAMP() konvertieren Datumsangaben und Unix-Zeitstempel 5. DATE und TIMESTAMP speichern die Zeit, aber wo ist die Zeit? ? ? : Ersteres ist eine Zeitdarstellung, egal wo Sie sich befinden (unabhängig von der Zeitzone), während Letzteres die Greenwich Mean Time ist. . Das heißt, beim Speichern wird DATE entsprechend der angegebenen Zeit gespeichert und TIMESTAMP wird vor dem Speichern zunächst entsprechend der entsprechenden Greenwich Mean Time basierend auf der Zeitzone und dem angegebenen Zeitstempel berechnet. Beim Zugriff wird DATE entsprechend der gespeicherten Zeit zurückgegeben und TIMESTAMP wird entsprechend dem gespeicherten Zeitstempel (als Greenwich Mean Time betrachtet) und der Zeitzone berechnet, um die entsprechende Zeit in der Zeitzone zu berechnen. 6. Normalerweise wird TIMESTAMP verwendet, das eine hohe Platzeffizienz aufweist 7. MySQL bietet keine Datums- und Zeitwerte mit einer Granularität kleiner als Sekunden. Bei Bedarf können Sie BIGINT verwenden, um Zeitstempel auf Mikrosekundenebene zu speichern, oder DOUBLE verwenden, um den Dezimalteil nach Sekunden zu speichern. Reelle Zahlentypen 1. DECIMAL wird für finanzielle Zwecke verwendet 2. DECIMAL kann Ganzzahlen außerhalb des BIGINT-Bereichs speichern 3. FLOAT und DOUBLE verwenden Standard-Gleitkommaoperationen für Näherungsberechnungen char und varchar 1. char hat eine feste Länge, varchar hat eine variable Länge, d. h. varchar spart Platz (sofern es nicht mit ROW-FORMAT=FIXED erstellt wurde) 2. Da varchar eine variable Länge hat, wird zusätzliche Arbeit geleistet, wenn die Länge während des UPDATE größer wird 3. Verwenden Sie varchar, wenn: die maximale Länge einer Zeichenfolgenspalte viel größer als die durchschnittliche Länge ist; die Spalte selten aktualisiert wird (Fragmentierung also kein Problem darstellt); ein Zeichensatz wie UTF8 verwendet wird (jedes Zeichen wird mit einer anderen Anzahl von Bytes gespeichert) 4. CHAR ist geeignet für: sehr kurz oder alle Werte sind nahezu gleich lang (z. B. MD5); Spalten ändern sich häufig 5. Problem mit nachstehenden Leerzeichen: Die höhere Version von varchar behält nachstehende Leerzeichen bei; die Versionen char und varchar einer niedrigeren Version entfernen nachstehende Leerzeichen. 6. In CHAR (N) und VARCHAR (N) stellt N die Anzahl der Zeichen dar, nicht die Anzahl der Bytes (chinesische Zeichen belegen 3 Bytes in UTF8). 7. Obwohl der Datentyp VARCHAR(N) die Größe der Zeichenfolge, die er darstellt, auf der Festplatte speichert, weist ihm der Speicher beim Einlesen in den Speicher N*k+1or2 (N<=255,1;sonst 2;) zu (k wird durch den Zeichensatz bestimmt). Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Detaillierte Erläuterung der Konzepte und Verwendung von Docker Swarm
>>: Vue implementiert die Methode zur Anzeige des Prozentsatzes der Echart-Kreisdiagrammlegende
1. Installationsumgebung 1. HUAWEI Mate X CPU i5 ...
Inhaltsverzeichnis Ausgehend von der Typbeurteilu...
Inhaltsverzeichnis Primärschlüsselindex Erstellen...
Erstellen Sie eine Animation der acht Planeten de...
Eine einfache Nummernschild-Eingabekomponente (vu...
In diesem Artikelbeispiel wird der spezifische Co...
Nach der Installation von VMware Tools ① kann Tex...
Der spezifische Code für die Verwendung von jQuer...
Die Informationen auf Baidu sind so vielfältig, d...
js interessanter Countdown-Fall. Zu Ihrer Informa...
Inhaltsverzeichnis Vorwort 1. Projektarchitektur ...
Bevor wir die GROUP BY- und HAVING-Klauseln vorst...
Dieser Artikel stellt hauptsächlich die Lösung fü...
Inhaltsverzeichnis Schnellstart Anwendung Grundpr...
Keil Da auf dem Computer eine relativ alte MySQL-...