kölir: reserviert mysql den speicher für felder vor?

Hallo,

reserviert mysql den gesamten Speicher, den ein Feld benötigen könnte, z.B. Text?

Was passiert wenn man dann darin wirklich Daten ablegt, brauchen die dann den Pkatz den sie bruachen oder wird das restliche Leer Textfeld auch "gespeichert" und belegt Platz?

mfg

  1. hi,

    reserviert mysql den gesamten Speicher, den ein Feld benötigen könnte, z.B. Text?

    Definiere "Reservieren".

    Was passiert wenn man dann darin wirklich Daten ablegt, brauchen die dann den Pkatz den sie bruachen oder wird das restliche Leer Textfeld auch "gespeichert" und belegt Platz?

    RTFMchen

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. echo $begrüßung;

    reserviert mysql den gesamten Speicher, den ein Feld benötigen könnte, z.B. Text?

    Das ist abhängig vom verwendeten Feldtyp. Siehe Kapitel Data Types.

    echo "$verabschiedung $name";

  3. Hello,

    reserviert mysql den gesamten Speicher, den ein Feld benötigen könnte, z.B. Text?

    MySQL geht dabei schon seit der Version 3.x in mehreren Stufen vor.
    Ein Feld vom Typ CHAR wurde ursprünglich in der festgelegten Länge reserviert.
    Ein Feld vom Typ VARCHAR wurde nur mit einer Längenangabe reserviert, bzw. bei Bedarf in der benötigten Länge zuzüglich Verwaltungsinformation _ausgelagert_ angelegt.
    Es kam die Regel hinzu, dass auch CHAR-Felder nur noch nach dem Schema VARCHAR verwaltet werden, wenn mindestens ein VARCHAR-Feld vorhanden ist.

    TEXT-Felder werden schon immer ausgegliedert gespeichert.

    Mit kommt es manchmal so vor, dass die Entwickler von MySQL sehr viel von denen von dBase gelernt und übernommen hätten.

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

    1. Hi,

      danke.

      d.h. wenn ich eine Textspalte anlege, in der nicht immer Inhalt steht, so ist kein Speicher unnötig belegt?

      Un wenn ich jetzt in ein Texfeld (~65 kbyte) einen kurzen Text (~1 kbyte) speichere, dann wird das extern gepseicher und auch nur mit einer größe von 1 kbyte? Oder wird der Leeraum auch "gespeichert" oder freigehalten, falls sich dieser Wert noch ändert?

      mfg

      1. hi,

        danke.

        Interessehalber: Wofür bedankst du dich eigentlich gerade, wenn du direkt danach eigentlich die Fragestellung aus dem Eingangsposting noch mal wiederholst?

        d.h. wenn ich eine Textspalte anlege, in der nicht immer Inhalt steht, so ist kein Speicher unnötig belegt?

        Un wenn ich jetzt in ein Texfeld (~65 kbyte) einen kurzen Text (~1 kbyte) speichere, dann wird das extern gepseicher und auch nur mit einer größe von 1 kbyte? Oder wird der Leeraum auch "gespeichert" oder freigehalten, falls sich dieser Wert noch ändert?

        Dürfen wir jetzt also annehmen, dass du entweder nicht mal selber im Manual nachgeschaut, oder aber nichts begriffen hast?

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hi,

          ich bedanke mich, dass überhaupt jemand auf meine Dummen Fragen anwortet.

          Und ihr dürft annehmen, dass ich nachgelesen und nicht verstanden habe, sonst würde ich nicht Fragen.

          Also was ist?
          d.h. wenn ich eine Textspalte anlege, in der nicht immer Inhalt steht, so ist kein Speicher unnötig belegt?
          Un wenn ich jetzt in ein Texfeld (~65 kbyte) einen kurzen Text (~1 kbyte) speichere, dann wird das extern gepseicher und auch nur mit einer größe von 1 kbyte? Oder wird der Leeraum auch "gespeichert" oder freigehalten, falls sich dieser Wert noch ändert?

          mfg

          1. hi,

            d.h. wenn ich eine Textspalte anlege, in der nicht immer Inhalt steht, so ist kein Speicher unnötig belegt?
            Un wenn ich jetzt in ein Texfeld (~65 kbyte) einen kurzen Text (~1 kbyte) speichere, dann wird das extern gepseicher und auch nur mit einer größe von 1 kbyte? Oder wird der Leeraum auch "gespeichert" oder freigehalten, falls sich dieser Wert noch ändert?

            Erklärst du bitte, was du an http://dev.mysql.com/doc/refman/4.1/en/storage-requirements.html nicht verstehst, so dass diese Fragen für dich immer noch unbeantwortet sind?

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
      2. Hello,

        d.h. wenn ich eine Textspalte anlege, in der nicht immer Inhalt steht, so ist kein Speicher unnötig belegt?

        Nur der Platz für die Verwaltungsinformation.

        Un wenn ich jetzt in ein Texfeld (~65 kbyte) einen kurzen Text (~1 kbyte) speichere, dann wird das extern gepseicher und auch nur mit einer größe von 1 kbyte? Oder wird der Leeraum auch "gespeichert" oder freigehalten, falls sich dieser Wert noch ändert?

        Das wird in Blöcken verwaltet. Wie granular die sind bei MySQL weiß ich nicht mehr aus dem Kopf.

        Wenn ich vorhin schrieb "extern", so bedeutet das bei MySQL auch nur außerhalb des regelmäßigen Datenbereiches... MySQL-Dateien sind (mindestens vier ?) unterschiedliche Bereiche aufgeteilt.

        Da schau mal ins Handbuch:
        http://dev.mysql.com/doc/refman/5.1/en/data-type-overview.html
        Das sollte als Einsprungspunkt tauglich sein...

        Harzliche Grüße vom Berg
        http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau