| Der richtige Datentyp für Tabellen-Spalten ist nicht nur für den Wertebereich zuständig und damit entscheidend, welche Werte gespeichert werden können, sondern beeinflusst auch die Performance der Datenbank. Aus diesem Grund sollte der Datentyp mit Überlegung gewählt werden.
In der folgenden Übersicht finden sich die "gängigsten" Datentypen wieder, deren Speicherbedarf (in Klammern) und Wertebereich. TINYINT (1 Byte)
Ganzzahlen: 0 bis 255
Mit Vorzeichen: -128 bis +127 SMALLINT (2 Bytes)
Ganzzahlen: 0 bis 65.535
Mit Vorzeichen: -32.768 bis +32.767 MEDIUMINT (3 Bytes)
Ganzzahlen: 0 bis 16.777.215
Mit Vorzeichen: -8.388.608 bis +8.388.607 INT (4 Bytes)
Ganzzahlen: 0 bis 4.294.967.295
Mit Vorzeichen: -2.147.483.648 bis +2.147.483.647 BIGINT (8 Bytes)
Ganzzahlen: 0 bis 18.446.744.073.709.551.615
Mit Vorzeichen: -9.223.372.036.854.775.808 bis +9.223.372.036.854.775.807 FLOAT (4 Bytes)
Fließkommazahlen
Ganzzahlen: 0 und 1,175494351^38 bis 3,402823466^38
Mit Vorzeichen: -3,402823466^38 bis +1,175494351^38 DOUBLE (8 Bytes)
Fließkommazahlen
Ganzzahlen: 0 und 2,225^-308 bis 1,798^308
Mit Vorzeichen: -1,798^308 bis +2,225^-308 DATE (3 Bytes)
Datum-Bereich: von 01.01.1000 bis 31.12.9999 DATETIME (8 Bytes)
Datum-Bereich: von 01.01.1000 - 00:00:00 bis 31.12.9999 - 23:59:59 TIMESTAMP (4 Bytes)
Werte-Bereich: von 01.01.1970 bis 2037 VARCHAR (Stringlänge + 1 Byte)
Zeichenkette mit einer Länge von 0 bis 255 Zeichen. Jedes Zeichen belegt 1 Byte TEXT (Stringlänge + 2 Bytes)
Maximale Größe 65.535 Bytes
Ein Text mit 1.000 Zeichen würde also 1.002 Bytes belegen MEDIUMTEXT (Stringlänge + 3 Bytes)
Maximale Größe 16.777.215 Bytes
Ein Text mit 1.000 Zeichen würde also 1.003 Bytes belegen LONGTEXT (Stringlänge + 4 Bytes)
Maximale Größe 4.294.967.295 Bytes
Ein Text mit 1.000 Zeichen würde also 1.004 Bytes belegen
Was die Performance angeht ist darauf zu achten, dass der kleinstmögliche Datentyp gewählt wird und wenn Tabellen miteinander verknüpft werden sollten die Felder, die verknüpft werden, vom gleichen Datentyp sein, sonst kann es passieren, dass die gesetzten Indizes nicht verwendet werden. |