Klein aber feinVersuchen Sie grundsätzlich, zur Datenspeicherung Datentypen zu verwenden, die möglichst wenig Speicherplatz beanspruchen. Solche Datentypen sind im Allgemeinen auch schneller und beanspruchen weniger Speicherplatz, Arbeitsspeicher und sogar Cache und verbrauchen weniger CPU-Verarbeitungszyklen. Allerdings ist es wichtig, den Bereich der Datenwerte, die Sie speichern möchten, genau abzuschätzen. Weil das Erweitern von Datenbereichen an mehreren Stellen in Ihrer Tabellenstruktur ein mühsamer und zeitaufwändiger Prozess sein kann. Wenn Sie sich nicht sicher sind, welcher Datentyp geeignet ist, wählen Sie den Typ mit dem kleinsten Speicherplatz, von dem Sie meinen, dass er den Bereich nicht überschreitet (Sie können ihn auch in den frühen Phasen des Systems anpassen oder wenn die Datentabelle nicht viele Daten enthält). Mach es einfachEinfachere Datentypen bedeuten weniger CPU-Zyklen zur Verarbeitung der Daten. Beispielsweise lässt sich mit ganzen Zahlen einfacher arbeiten als mit Zeichen, da Zeichensätze und Sortierungen den Vergleich von Zeichen komplizierter machen. Hier zwei Beispiele: Sie sollten zum Speichern von Uhrzeiten und Daten die integrierten Typen von MySQL verwenden, statt Zeichenfolgen. IP-Adressen sollten auch als Ganzzahlen gespeichert werden. Vermeiden Sie NullwerteViele Datentabellen erfordern Spalten, die NULL-Werte zulassen, obwohl der Standardwert NULL nicht in der Anwendung gespeichert werden muss. Im Allgemeinen ist es besser anzugeben, dass die Spalte NICHT NULL ist, als NULL zu speichern. MySQL lässt sich mit Spalten, die Nullwerte zulassen, schwieriger optimieren, da diese Spalten Indizes, Indexstatistiken und Wertevergleiche erschweren. Darüber hinaus beanspruchen Spalten, die Nullwerte zulassen, mehr Speicherplatz und erfordern eine besondere Behandlung. Wenn ein Index für eine Spalte angegeben wird, die Nullwerte zulassen, erfordert dies ein zusätzliches Byte für jeden Indexeintrag und kann sogar dazu führen, dass die MyISAM-Engine einen Index mit fester Größe in einen Index mit variabler Größe umwandelt (beispielsweise einen einspaltigen Index für ein ganzzahliges Feld). Allerdings ist die Leistungsverbesserung durch die Konvertierung von NULL-Spalten in NOT NULL-Spalten normalerweise nicht groß. Sofern Sie nicht festgestellt haben, dass NULL-Spalten erhebliche Auswirkungen auf die Leistung haben, sollten Sie der Änderung der vorhandenen Datentabellenstruktur keine Priorität einräumen. Wenn Sie jedoch einen Index für eine Spalte erstellen müssen, sollten Sie versuchen, zu vermeiden, dass der Spaltenwert leer ist. Normalerweise empfiehlt es sich, die Spalte direkt auf NOT NULL zu setzen. Natürlich gibt es Ausnahmen. Beispielsweise wird in InnoDB nur ein Bit zum Speichern von NULL-Werten verwendet, sodass bei der Speicherung großer Datenmengen effektiv Speicherplatz gespart werden kann. Dies ist bei der MyISAM-Engine jedoch nicht der Fall. Schritte zum Auswählen des DatentypsDer erste Schritt bei der Auswahl eines Datentyps besteht darin, zu entscheiden, welcher allgemeine Datentyp zur Darstellung der Datenspalte verwendet werden soll, ob es sich um einen numerischen Typ, einen Zeichenfolgentyp oder einen Zeittyp handelt. Normalerweise ist eine direkte Auswahl ausreichend, es gibt jedoch einige Ausnahmen (z. B. Beträge, Zeitstempel). Der zweite Schritt besteht darin, den spezifischen Typ auszuwählen. MySQL verfügt über mehrere Speichermethoden für denselben Datentyp, basierend auf dem Datenwertebereich, der Genauigkeit und dem physischen Speicherplatz, und einige Datentypen haben einige spezielle Eigenschaften. Beispielsweise können DATETIME und TIMESTAMP beide Uhrzeit und Datum speichern, beide mit einer Genauigkeit von einer Sekunde. Der Typ TIMESTAMP benötigt jedoch nur die Hälfte des Speicherplatzes, enthält Zeitzoneninformationen und unterstützt automatische Updates. Auf der anderen Seite werden Daten jedoch über einen kürzeren Zeitraum gespeichert, und diese besonderen Eigenschaften können sich als Hindernis erweisen. Sehen wir uns die grundlegenden Datentypen an. MySQL unterstützt Aliase für Datentypen wie INTEGER, BOOL und NUMERIC. Dies sind lediglich Aliase und obwohl sie verwirrend aussehen können, haben sie tatsächlich keinen Einfluss auf die Leistung. Wenn Sie zum Erstellen einer Datentabelle einen Alias-Datentyp verwenden, denken Sie daran, dass Sie SHOW CREATE TABLE verwendet haben. Sie sehen dann, dass MySQL tatsächlich in den Basisdatentyp und nicht in den Alias konvertiert. Datentyp: Die grundlegenden Regeln, die definieren, welche Daten in einer Spalte gespeichert werden können und wie diese Daten tatsächlich gespeichert werden. Datentypen werden für folgende Zwecke verwendet: 1. Ermöglicht Ihnen, die Daten einzuschränken, die in einer Spalte gespeichert werden können. Beispielsweise kann eine Spalte mit einem numerischen Datentyp nur numerische Werte akzeptieren. 2. Ermöglicht eine effizientere interne Datenspeicherung. Beispiel: Speichern Sie numerische Werte sowie Datums- und Uhrzeitwerte in einem Format, das prägnanter ist als Textzeichenfolgen. 3. Ermöglichen Sie das Ändern der Sortierreihenfolge. Wenn beispielsweise alle Daten als Zeichenfolgen behandelt werden, kommt 1 vor 10 und 10 vor 2 (Zeichenfolgen werden in lexikografischer Reihenfolge sortiert und von links Zeichen für Zeichen verglichen); als numerischer Datentyp können die Werte korrekt sortiert werden. Einführung in Datentypen 1. String-DatentypDer am häufigsten verwendete Datentyp zum Speichern von Zeichenfolgen wie Namen, Adressen, Telefonnummern usw. Es gibt zwei grundlegende Arten von Zeichenfolgen: Zeichenfolgen mit fester Länge und Zeichenfolgen mit variabler Länge. Zeichenfolge mit fester Länge: akzeptiert eine Zeichenfolge mit fester Länge, deren Länge beim Erstellen der Tabelle angegeben wird. Spalten mit fester Länge erlauben nicht mehr als die angegebene Anzahl an Zeichen; sie belegen so viel Speicherplatz wie angegeben. Wie zum Beispiel: CHAR. Zeichenfolge mit variabler Länge: speichert Text mit variabler Länge. Einige Datentypen mit variabler Länge haben eine maximale feste Länge, während andere vollständig variabel sind. Unabhängig vom Typ werden nur die angegebenen Daten gespeichert (zusätzliche Daten werden nicht gespeichert), z. B. TEXT. PS: MySQL verarbeitet Spalten mit fester Länge viel schneller als Spalten mit variabler Länge. Und MySQL erlaubt keine Indizierung von Spalten mit variabler Länge (oder variablen Teilen einer Spalte). Beschreibung des Datentyps:
PS: 1. Anführungszeichen: Unabhängig davon, welche Form des Zeichenfolgendatentyps verwendet wird, muss der Zeichenfolgenwert in Anführungszeichen (normalerweise einfache Anführungszeichen) eingeschlossen werden. 2. Zu beachtende Grundregeln: Wenn der Wert in Berechnungen (Summe, Durchschnitt usw.) verwendet wird, wird er in einer Spalte mit numerischem Datentyp gespeichert. Wenn der Wert als Zeichenfolge verwendet wird, wird er in einer Spalte vom Datentyp „Zeichenfolge“ gespeichert. Wenn Sie beispielsweise in einem numerischen Feld die Postleitzahl 01234 hinterlegen, wird der Wert 1234 gespeichert, wobei eine Ziffer fehlt. 2. Numerische DatentypenSpeichert einen numerischen Wert. MySQL unterstützt mehrere numerische Datentypen, von denen jeder einen Wert mit einem anderen Wertebereich speichert. Je größer der unterstützte Wertebereich ist, desto mehr Speicherplatz wird benötigt. Darüber hinaus unterstützen einige numerische Datentypen die Verwendung von Dezimalstellen (und Brüchen), während andere nur ganze Zahlen unterstützen. Tabelle D-2 listet die häufig verwendeten numerischen MySQL-Datentypen auf. PS: 1. Alle numerischen Datentypen (außer BIT und BOOLEAN) können mit oder ohne Vorzeichen sein. Vorzeichenbehaftete numerische Spalten können positive oder negative Werte speichern, während vorzeichenlose numerische Spalten nur positive Zahlen speichern können. 2. Der Standardwert ist signiert. Wenn Sie keine negativen Werte speichern müssen, können Sie UNSIGNED verwenden, wodurch Sie Werte mit doppelter Größe speichern können. 3. Im Gegensatz zu Zeichenfolgen sollten Werte nicht in Anführungszeichen eingeschlossen werden. 4. In MySQL gibt es keinen Datentyp, der speziell zum Speichern von Währungen dient. Im Allgemeinen wird DECIMAL(8, 2) verwendet. Beschreibung des Datentyps:
3. Datums- und UhrzeitdatentypenBeschreibung des Datentyps:
4. Binäre DatentypenKann beliebige Daten (auch binäre Informationen) speichern, wie etwa Bilder, Multimedia, Textverarbeitungsdokumente usw. Beschreibung des Datentyps:
Abschluss:MySQL bietet viele Möglichkeiten zur Darstellung von Daten. Es wird empfohlen, den Speicherbereich gängiger Datentypen und die Anzahl der von ihnen belegten Bytes zu verstehen und den geeigneten Datentyp so weit wie möglich basierend auf dem geschätzten Datenwertbereich oder der geschätzten Datenlänge des Produkts auszuwählen, um sich von Beginn der Tabellenerstellung an auf die Leistung zu konzentrieren. Der Aufwand für spätere Anpassungen übersteigt häufig den Zeitaufwand für sorgfältige Überlegungen zu Beginn des Entwurfs. Oben finden Sie Einzelheiten dazu, warum MySQL den geeigneten Datentyp auswählen muss. Weitere Informationen zu MySQL-Datentypen finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: So platzieren Sie große Bilder auf kleinem Raum einer Webseite
>>: Unterschied zwischen HTML4 und HTML5: So fügen Sie einer Eingabe Fokusimplementierungscode hinzu
1. Verwenden Sie immer :key in v-for Die Verwendu...
In diesem Artikel wird der spezifische Code der L...
Es gibt drei Seiten A, B und C. Seite A enthält Se...
Einführung Linux ist ein System, das automatisch ...
Vorwort In der Java-Programmierung werden die mei...
Inhaltsverzeichnis 1. Grundlegende Einführung in ...
Tipps zur Verwendung von Docker 1. Bereinigen Sie...
Das Formular bietet zwei Möglichkeiten zur Datenüb...
Inhaltsverzeichnis 1. Zeitüberwachung 2. Ereignis...
Um das Kursdesign zu realisieren, habe ich kürzli...
Als ich früher Join-Tabellenabfragen geschrieben ...
In diesem Artikelbeispiel wird der spezifische Co...
Definition von Generika // Anforderung 1: Generik...
Vorwort In der Front-End-Entwicklung müssen Sie h...
Inhaltsverzeichnis 1. Einleitung 2. Implementieru...