[53705] in SAPr3-news
Re: Datenbank-Spezis vor...Größe von Datenbanktabellen??
daemon@ATHENA.MIT.EDU (Christian Knappke)
Mon Mar 7 04:10:09 2005
To: sapr3-news@mit.edu
Date: Mon, 7 Mar 2005 09:07:59 +0000 (UTC)
From: Christian Knappke <chknews@gmx.net>
Message-ID: <Xns96126719338B1nnsshiqqcuusnqfigmxn@10.16.7.20>
From the keyboard of Markus <lucky@lucky-one.de>:
...
>>> Wie werden nun bei der Berechnung der Größe die leeren Felder
>>> mitberechnet? Anders gefragt: nimmt ein leeres 10-stelliges
>>> Char Feld genausoviel Platz weg, wie ein gefülltes
>>> 10-stelliges Char Feld??
>> Auch das hängt davon ab, welches DBMS Du benutzt und wie die
>> Felder auf der Datenbank definiert sind (CHAR vs. VARCHAR).
> erst mal vielen Dank für die Antworten. Aber ich habe mich wohl
> falsch ausgedrückt, denn die Frage, die uns beschäftigt hat, war
> im Prinzip nur, ob leere Felder auf der DB ganausoviel Speicher
> benötigen wie gefüllte. In den großen Tabellen der SAP (z.B. im
> FI) sind in der Regel ca. 30-40 % der Tabellenfelder leer.
> Die Überlegung war nun, dass ja eigentlich eine ganze Menge
> Platz verschwendet würde, wenn die DB nicht Mittel und Wege
> hätte, dies zu kompensieren.
> Und da wir beide nicht gerade Datenbank-Spezis sind, dachte ich
> mir, ich frage hier mal nach.
Wie oben geschrieben: es hängt vom DBMS und der Implementierung
ab. Da Du dich über das verwendete Produkt ausschweigst, kann ich
die hier auch nichts weiter sagen.
Schau doch selbst nach: SE11 -> Tabellenname -> Anzeigen ->
Hilfsmittel -> Datenbankobjekt -> Anzeigen. Findest Du in der
Spalte Datentyp VARCHAR, dann wird leerer Platz nicht gespeichert,
findest Du CHAR, dann belegt das Feld immer soviel Platz, wie die
Länge angibt.
Früher musste man sich genau überlegen, wie man implementiert und
welche Ressource man verschwendet (um den von Dir eingeführten
Begriff zu benutzen): VARCHARs sind teuer hinsichtlich CPU, da
eben mit den variablen Längen herumhantiert werden muss, CAHRs
brauchen halt Platz. Heute sind CPU und Plattenplatz in den für
diese feinen Unterschiede benötigten Größenordnungen i.A. kein
Thema und damit ist es egal und kein Qualitätsmerkmal für die eine
oder andere Implementation.
HTH
Christian
--
#include <std_disclaimer.h>
/* The opinions stated above are my own and not
necessarily those of my employer. */