Mysql Datenbank Vorüberlegungen

Tach zusammen,

also wenn ich das richtig kapiert habe, dann ist es sinnvoll sich Gedanken über die Größe eines Datenfeldes zu machen, weil sich das letztendlich auf die Gesamtgröße der Datenbank auswirkt.

Wo erfahre ich nun, wieviel Speicher welcher Datentyp belegt? Ist es zum Beispiel sinnvoller Ortsnamen als VARCHAR oder als TINYTEXT zu speichern?

Und wie ist das mit Postleitzahlen? Wo benötigen die am wenigsten Speicher: als INT oder auch als TINYTEXT oder VARCHAR?

Viele Grüße

Holger

Hi Holger,

da hilft dir die deutsche Doku weiter:
http://de.mysql.com/documentation/mysql/bychapter/ma…

Ciao, Bill

Hallo,

Wenn Du Postleitzahlen immer nur als Zahlen zulassen darfst, nimm auch Zahlen, da sie um ein Vielfaches weniger Speicher bedürfen. (z.B. int(5))

Richtig ins Verhältnis setzen musst Du bei Deinen Vorüberlegungen auch die spätere Größe mit der Flexibilität der Datenbank.

Das bedeutet, solange Du nur Daten unterhalb von 1000 Datensätzen hast, mach’ die Felder ruhig schön Groß, damit auch jede Eingabe hineinpasst, da spielt der Platz noch nicht so die Rolle. Wenn also Für Ortsnamen in der Regel varchar(40) ausreicht, kann man hier ruhig auch varchar(100) veranschlagen, für den Fall der Fälle.

Wenn Du natürlich weit über 100.000 Daten in eine Tabelle einpflegst (Statistik, Protokollierung, o.ä.), solltest Du jedes Bit in einer Feldgröße genau abwägen.

Soviel ich weiß, ist die Größe der einzelnen Feldarten im „SQL-Kompendium“ beschrieben, kann aber auch in „SQL in 21 Tagen“ gewesen sein.

Ich nehme für ‚normale‘ Textfelder eigentlich immer varchar(x), außer wenn die Buchstabenzahl klar ist, dann char(x).

‚Tach‘ zurück

Easy

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]