Unabhängig davon, ob Sie über einen kleinen freien Datenbankspeicherplatz oder eine große E-Commerce-Website verfügen, ist es sehr wichtig, dass die Datenbank die Tabellenstruktur angemessen gestaltet und den Speicherplatz voll ausnutzt. Dies erfordert ein umfassendes Verständnis und eine sinnvolle Anwendung gängiger Datentypen in Datenbanksystemen. Im Folgenden stellen wir Ihnen einige Erfahrungen und Erfahrungen vor und hoffen, Ihnen dabei zu helfen, beim Aufbau einer Datenbank rationaler zu denken.
1. Nummerntyp
Numerische Typen werden gemäß meiner Klassifizierungsmethode in drei Kategorien unterteilt: Ganzzahltypen, Dezimaltypen und numerische Typen.
Was ich „numerische Klassen“ nenne, bezieht sich auf DECIMAL und NUMERIC, die vom gleichen Typ sind. Es handelt sich nicht unbedingt um einen numerischen Typ, da Zahlen tatsächlich in Form von Zeichenfolgen gespeichert werden. Jede Ziffer ihres Werts (einschließlich des Dezimalpunkts) belegt ein Byte Speicherplatz, sodass dieser Typ viel Platz für Vergleiche verbraucht. Einer der herausragenden Vorteile besteht jedoch darin, dass die Dezimalstellen fest sind und während des Betriebs nicht „verzerrt“ werden. Daher eignet es sich besser für Felder wie „Preis“ und „Betrag“, die keine hohe Präzision, aber eine sehr hohe Genauigkeit erfordern Genauigkeit.
Der Dezimaltyp, also der Gleitkommazahlentyp, hat je nach Genauigkeit zwei Typen: FLOAT und DOUBLE. Ihr Vorteil ist die Genauigkeit, mit der FLOAT Dezimalzahlen mit sehr kleinen Absolutwerten darstellen kann, die nur etwa 1,17E-38 betragen (0,000...0117, es gibt 37 Nullen nach dem Komma), während DOUBLE Absolutwerte mit kleinen Werten darstellen kann als ungefähr 2,22E-308 (0,000...0222, 307 Nullen nach dem Komma) als Dezimalzahl. Der vom FLOAT-Typ und DOUBLE-Typ belegte Speicherplatz beträgt 4 Byte bzw. 8 Byte. Wenn Sie Dezimalfelder verwenden müssen und die Genauigkeit nicht hoch ist, verwenden Sie natürlich FLOAT. Aber um ehrlich zu sein, wie können unsere „zivilen“ Daten eine so hohe Genauigkeit erfordern? Ich habe diese beiden Typen bisher nicht verwendet – ich bin auf keinen Fall gestoßen, der für deren Verwendung geeignet wäre.
Der am häufigsten verwendete Typ, der einer sorgfältigen Berechnung am meisten würdig ist, ist der Integer-Typ. Von TINYINT, das nur ein Byte Speicherplatz belegt, bis hin zu BIGINT, das 8 Bytes belegt, sollte beim Entwurf der Datenbank die Auswahl eines Typs berücksichtigt werden, der „ausreichend“ ist und den geringsten Speicherplatz belegt. TINYINT, SMALLINT, MEDIUMINT, INT und BIGINT belegen jeweils einen Speicherplatz von 1 Byte, 2 Byte, 3 Byte, 4 Byte und 8 Byte. Die maximalen Ganzzahlen, die diese Typen darstellen können, sind 255, 65535, 16777215 , 4294967295 und 18446744073709551615. Wenn es zum Speichern des Alters des Benutzers verwendet wird (es ist beispielsweise nicht ratsam, das Alter in der Datenbank zu speichern), reicht TINYINT aus; in Jiuchengs „Zongheng“ reicht SMALLINT für jeden Fähigkeitswert aus; Das IDENTIFY-Feld von AUTO_INCREMENT in einer Tabelle, die definitiv nicht mehr als 16.000.000 Zeilen enthält, kann natürlich durch die Verwendung von MEDIUMINT anstelle von INT ein Byte eingespart werden.