MySQL Datentypen, deren Speicherbedarf und Wertebereich

Alt 28.05.2010, 11:48   # 1
Arthur Spooner
Halb Mensch, halb Admin
 
Benutzerbild von Arthur Spooner
 
Registriert seit: 10.05.2006
Beiträge: 4.100
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.
  Mit Zitat antworten
Alt 28.05.2010, 11:48 # --
netzwelt.de
 
Benutzerbild von netzwelt.de
 
 
 
   
Alt 28.05.2010, 12:01   # 2
Arthur Spooner
Halb Mensch, halb Admin
Threadstarter
 
Benutzerbild von Arthur Spooner
 
Registriert seit: 10.05.2006
Beiträge: 4.100
Anmerkung: Der Beitrag wurde aus dem Blog übernommen.
  Mit Zitat antworten

Alt 19.05.2013, 19:54 # --
News Flash
 
Benutzerbild von News Flash
 
 
 

Das könnte Dich auch noch interessieren:

Nicht fündig geworden? Dann ohne Anmeldung in unserem Gast-Forum nachfragen.

   
Alt 19.05.2013, 19:54 # --
netzwelt.de
 
Benutzerbild von netzwelt.de