Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Ich weiß es ja nicht 100%ig aber ich denke mal das das keinen Platz einnimmt. Weil null ist ja nicht initialisierter Speicher und da braucht man dann auch keine Bytes für.

Geschrieben

Es wir kein Speicher verbraucht.

Da Oracle blöckeweise schreibt, wird für das null-Attribut wenn es nicht belegt ist auch kein Speicher freigehalten.

Alledings verwendet Oracle den PCTFREE-Bereich eines Blockes bei Updates und die Werte des Null-Wertes nach dem Update einzutragen. Dies soll Rowchaining verhindern.

Chained Rows sind sehr unerwünscht, da sie Performance verbrauchen, da mehr als ein Block in den Buffer geladen werden müßen um einen Datensatz auszulesen.

Um Chained Rows zu indetifiziren kannst du das Skript ldblkchn.sql verwenden das Oracle beiliegt.

Kleiner Exkurs in DB-Administration, aber vielleicht helfen dir die Infos mal.

Grüße

Geschrieben

Aber soweit ich weiß gibts doch nen Platzhalter, sofen NULL nicht am Satzende auftritt, sondern im weiteren Verlauf des Satzes noch Datenwerte folgen (z.B Spalte 4 NULL, , Spalte5 NULL, Spalte6 'MÜLLER').

Geschrieben

Nein das ist nicht korrekt. Der Block hat sowas wie einen Header in dem er die Attribute verzeichnet. Daten werden aber nicht verzeichnet.

Du kannst die Größe eines Attribus mit select vsize(attribut) from tabelle feststellen.

Wenn du das auf einen nicht gefüllten Null-Wert machst, wirst du sehen das du nicht erhälst. auch kein 0 Bytes da der Datensatz einfach noch nicht im Block geschrieben ist.

Grüße

Geschrieben
Original geschrieben von OracleFan

Alledings verwendet Oracle den PCTFREE-Bereich eines Blockes bei Updates und die Werte des Null-Wertes nach dem Update einzutragen. Dies soll Rowchaining verhindern.

Grüße

Beachte aber das der PCTFREE-Wert nicht davon abhängt wie viele Felder in dem Datensatz mit Null sind, sonder nur von dem Wert der für die ganze Tabelle definiert wurde. D.h. ist ein Datensatz komplett gefüllt (alle Columns haben Werte) ist der freigehaltene Platz für änderungen genauso groß wie bei einem Datensatz der gleichen Tabelle wo nur eine Column gefüllt wurde.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...