Die Speichergröße und der Bereich jedes Gleitkommatyps sind in der folgenden Tabelle geplant:
Dies sind also Gleitkommatypen in MySQL. Was sind die Unterschiede zwischen ihnen? ?
Einige von Ihnen fragen sich hier sicherlich: Was ist einfache Genauigkeit und was ist doppelte Genauigkeit? Werfen wir unten einen kurzen Blick darauf! Wir wissen, dass ein Byte 8 Bits einnimmt, oder? Die Länge des Gleitkommatyps Float mit einfacher Genauigkeit beträgt 4 x 8 = 32 Bit. Daher belegt die Gleitkommazahl Float mit einfacher Genauigkeit 4 Byte im Speicher und wird durch 32 Binärbits beschrieben. Dann ist der Gleitkommatyp mit doppelter doppelter Genauigkeit ==8x8=64 Bit lang==, sodass eine Gleitkommazahl mit doppelter doppelter Genauigkeit 8 Bytes im Speicher einnimmt und mit 64 Bit Binärdarstellung beschrieben wird. Durch Berechnung können 64 Bits mehr Mantissen erhalten! Mantisse: == ist die Anzahl der Ziffern nach dem Komma == Die Genauigkeit hängt hier hauptsächlich von der Anzahl der Ziffern im Teil ==Mantisse== ab. Gemäß dem IEEE-Standard für binäre Gleitkommaarithmetik können wir also Folgendes berechnen und schlussfolgern:
Der Unterschied zwischen Double und Float:
Vor- und Nachteile von Double und Float: Float Single Precision Vorteile: Float Single Precision ist auf einigen Prozessoren schneller als Double Double Precision und benötigt nur halb so viel Platz wie Double Double Precision. Nachteile: Wenn der Wert jedoch sehr groß oder sehr klein ist, wird er ungenau. Vorteile der doppelten Genauigkeit: Im Vergleich zu Float ist die doppelte Genauigkeit höher und die Mantisse kann 16 Bit haben, während Float nur eine Mantissengenauigkeit von 7 Bit hat. Nachteile: Die doppelte Genauigkeit verbraucht Speicher und ist doppelt so hoch wie die einfache Genauigkeit von Float! Die doppelte Berechnungsgeschwindigkeit ist viel langsamer als die von Float, da die doppelte Mantisse größer ist als die von Float, sodass die Berechnung teuer sein muss! So wählen Sie die Verwendungsszenarien von Double und Float aus! Zunächst einmal: Verwenden Sie keine doppelte Genauigkeit, wenn einfache Genauigkeit verfügbar ist, um Speicher zu sparen und Berechnungen zu beschleunigen! ==Zusammenfassung von Double und Float:== Float kann weniger Dezimalstellen darstellen, während Double mehr Dezimalstellen darstellen kann und präziser ist! So einfach ist das: Wählen Sie einfach entsprechend Ihrer Situation! Was stellen die Längen m und d nach Double und Float dar? double(m,d) und float(m,d) Was stellen m und d hier dar? Viele von Ihnen sind auch verwirrt! Lassen Sie es mich erklären. Wie die Ganzzahl int(n) oben haben auch diese Typen zusätzliche Parameter: eine Anzeigebreite m und eine Anzahl von Ziffern nach dem Dezimalpunkt d. ==Zusammenfassung:== In MySQL-Anweisungen, wenn Tabellenfelder tatsächlich definiert werden, Dezimaltyp ==1. Einführung in Dezimalzahlen== ==2. Maximalwert==
==Was bedeutet die Tabelle? Zum Beispiel: == Kleiner Koffer 1 mysql> Tabelle temp2 löschen; Abfrage OK, 0 Zeilen betroffen (0,15 Sek.) mysql> Tabelle temp2 erstellen (id float(10,2), id2 double(10,2), id3 decimal(10,2)); Abfrage OK, 0 Zeilen betroffen (0,18 Sek.) mysql> in temp2 Werte einfügen(1234567.21, 1234567.21,1234567.21),(9876543.21, -> 9876543.12, 9876543.12); Abfrage OK, 2 Zeilen betroffen (0,06 Sek.) Datensätze: 2 Duplikate: 0 Warnungen: 0 mysql> wähle * aus temp2; +------------+------------+------------+ | Ich würde | Ich würde2 | Ich würde3 | +------------+------------+------------+ | 1234567,25 | 1234567,21 | 1234567,21 | | 9876543.00 | 9876543.12 | 9876543.12 | +------------+------------+------------+ 2 Zeilen im Satz (0,01 Sek.) mysql> Beschreibung temp2; +----------+---------------+------+-----+---------+---------+----------+ | Feld | Typ | Null | Schlüssel | Standard | Extra | +----------+---------------+------+-----+---------+---------+----------+ | Ich würde | float(10,2) | JA | | NULL | | | id2 | double(10,2) | JA | | NULL | | | id3 | Dezimalzahl (10,2) | JA | | NULL | | +----------+---------------+------+-----+---------+---------+----------+ 3 Zeilen im Satz (0,01 Sek.) Kleiner Koffer 2 mysql> Tabelle temp2 löschen; Abfrage OK, 0 Zeilen betroffen (0,16 Sek.) mysql> Tabelle temp2 erstellen (id double, id2 double); Abfrage OK, 0 Zeilen betroffen (0,09 Sek.) mysql> in temp2-Werte einfügen (1,235,1,235); FEHLER 1136 (21S01): Die Spaltenanzahl stimmt nicht mit der Werteanzahl in Zeile 1 überein mysql> in temp2-Werte einfügen (1,235,1,235); Abfrage OK, 1 Zeile betroffen (0,03 Sek.) MySQL> mysql> wähle * aus temp2; +----------+--------+ | Ich würde | Ich würde2 | +----------+--------+ | 1,235 | 1,235 | +----------+--------+ 1 Zeile im Satz (0,00 Sek.) mysql> in temp2-Werte (3,3,4,4) einfügen; Abfrage OK, 1 Zeile betroffen (0,09 Sek.) mysql> wähle * aus temp2; +----------+--------+ | Ich würde | Ich würde2 | +----------+--------+ | 1,235 | 1,235 | | 3,3 | 4,4 | +----------+--------+ 2 Zeilen im Satz (0,00 Sek.) mysql> wähle id-id2 aus temp2; +---------------------+ |ID-ID2| +---------------------+ | 0 | |-1,1000000000000005 | +---------------------+ 2 Zeilen im Satz (0,00 Sek.) mysql> Tabelle temp2 ändern, ID dezimal (10,5) ändern; Abfrage OK, 2 Zeilen betroffen (0,28 Sek.) Datensätze: 2 Duplikate: 0 Warnungen: 0 mysql> Tabelle temp2 ändern, ID2 ändern, Dezimalzahl (10,5); Abfrage OK, 2 Zeilen betroffen (0,15 Sek.) Datensätze: 2 Duplikate: 0 Warnungen: 0 mysql> wähle * aus temp2; +---------+---------+ | Ich würde | Ich würde2 | +---------+---------+ | 1,23500 | 1,23500 | | 3,30000 | 4,40000 | +---------+---------+ 2 Zeilen im Satz (0,00 Sek.) mysql> wähle id-id2 aus temp2; +----------+ |ID-ID2| +----------+ | 0,00000 | |-1,10000 | +----------+ 2 Zeilen im Satz (0,00 Sek.) Damit ist dieser Artikel über die Unterschiede und die Zusammenfassung der drei Gleitkommatypen Float, Double und Decimal in MySQL abgeschlossen. Weitere relevante MySQL-Inhalte zu Float, Double und Decimal finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: 5 JavaScript-Möglichkeiten zum Abflachen von Arrays
>>: So betreten und verlassen Sie den Docker-Container
Socket-Optionsfunktion Funktion: Methoden zum Les...
herunterladen http://nginx.org/en/download.html E...
Reine Front-End-Implementierung:切片上傳斷點續傳.斷點續傳muss...
Inhaltsverzeichnis 1. Initialisierungsstruktur 2....
Hintergrund Um die Docker-Containerisierung währe...
Laut dem Datenanalyseunternehmen Net Market Share...
/******************** * Zeichengerätetreiber*****...
Inhaltsverzeichnis Vorwort Was ist ein Filter So ...
Überblick In Zabbix Version 5.0 und höher wurde e...
Vue-Router-Übergänge sind eine schnelle und einfa...
1. Überlauf: versteckt Überlauf versteckt Wenn fü...
In diesem Artikelbeispiel wird der spezifische Co...
In diesem Artikelbeispiel wird der spezifische Co...
Vorwort Golang stellt das Datenbank-/SQL-Paket fü...
In diesem Artikelbeispiel wird der spezifische Co...