Seite 1 von 1

(gelöst) Verständnisfrage: Wird beim Benutzen einer Tabellenspalte Speicherplatz reserviert?

Verfasst: Do 5. Okt 2017, 09:05
von Freischreiber
Hallo!

Ich habe eine Tabelle für Bemerkungen zu einem Auftrag mit zwei Spalten ("AuftragID" als Primärschlüssel) und "Bemerkung" für den Text, in Text (VarChar). Diese Bemerkungsspalte steht auf "Länge: 5000".

Bisher bin ich davon ausgegangen, daß dieser Speicherplatz verbraucht wird, sobald man irgendwelche Zeichen in eine solche Zelle schreibt, daß also jede Bemerkung, die man speichert, 5 KB Speicherplatz braucht.

Jetzt habe ich geschlossene Datenbankdateien verglichen und gemerkt: Wenn man eine Bemerkung speichert, die nur 150 Zeichen lang ist, wächst auch die Script-Datei nur um 150 Zeichen!

Heißt das, ich kann ohne Sorge um ein Aufblähen der DB die Länge auch auf z. B. 100.000 Zeichen setzen, obwohl ich sie fast nie brauche?

Gruß
Freischreiber

Re: Verständnisfrage: Wird beim Benutzen einer Tabellenspalte Speicherplatz reserviert?

Verfasst: Do 5. Okt 2017, 10:52
von nikki

Re: Verständnisfrage: Wird beim Benutzen einer Tabellenspalte Speicherplatz reserviert?

Verfasst: Fr 6. Okt 2017, 08:36
von Freischreiber
Hallo nikki,

:!: Wenn man weiß, wie man suchen soll, findet man auch was... für HSQL ist es genauso:
http://hsqldb.org/doc/guide/sqlgeneral- ... char_types
The VARCHAR and CLOB types have length limits, but the strings are not padded by the system. Note that if you use a large length for a VARCHAR or CLOB type, no extra space is used in the database. The space used for each stored item is proportional to its actual length.
Danke!

Gruß
Freischreiber