/ Datenbanken

Speicherbedarf Tabelle

Grobschätzung des Speicherbedarfs einer Tabelle: Speicher = Zeilen · ByteProZeile. Reine Nutzdaten ohne Index-, Overhead- oder Füllgrad-Anteile.

Speicherbedarf Tabelle
01 · Eingabe

Speicherbedarf Tabelle berechnen

Grobschätzung des Speicherbedarfs einer Tabelle: Speicher = Zeilen · ByteProZeile. Reine Nutzdaten ohne Index-, Overhead- oder Füllgrad-Anteile.

Lösen für
Speicher = Zeilen · ByteProZeile
Byte

Worum geht es?

Die einfachste Abschätzung des Speicherbedarfs einer Tabelle multipliziert die Zeilenanzahl mit der durchschnittlichen Zeilengröße in Byte. Das Ergebnis ist die reine Nutzlast — Indizes, Tupel-Header, Füllfaktor (FILLFACTOR / PCTFREE), TOAST und WAL-Overhead kommen oben drauf.

Für grobe Kapazitätsplanung reicht die Formel trotzdem aus: sie liefert die richtige Größenordnung in Sekunden und macht klar, ob eine Tabelle in den RAM passt oder nicht.

Die Formel

Formel Tabellengröße
Speicher = Zeilen · ByteProZeile

Umstellungen:
    Zeilen       = Speicher / ByteProZeile
    ByteProZeile = Speicher / Zeilen

Die Variablen

SymbolBedeutungEinheitErklärung
ZeilenZeilenanzahlAnzahl Zeilen in der Tabelle.
ByteProZeileByte pro ZeileByteDurchschnittliche Zeilengröße.
SpeicherSpeicherbedarfByteGesamter Nutzdaten-Speicherbedarf.

Minimal-Beispiel

10 Millionen Zeilen à 200 Byte:

Rechnung 10 Mio Zeilen
Speicher = 10 000 000 · 200
         = 2 000 000 000 Byte
         ≈ 1,86 GiB

Praxis-Beispiele

Beispiel 1 — Log-Tabelle pro Monat

Eine Audit-Tabelle bekommt 5 Mio Zeilen pro Monat, jede Zeile ca. 512 Byte:

Rechnung Monatswachstum
Speicher = 5 000 000 · 512
         = 2 560 000 000 Byte
         ≈ 2,38 GiB / Monat
         ≈ 28,6 GiB / Jahr

Beispiel 2 — Zielgröße rückwärts gerechnet

Wie viele Zeilen passen in 500 GB bei 1 KiB pro Zeile?

Rechnung Kapazität
Zeilen = Speicher / ByteProZeile
       = 500 · 10⁹ / 1 024
       ≈ 4,88 · 10⁸
       ≈ 488 Mio Zeilen

Beispiel 3 — Durchschnittliche Zeilengröße aus Statistiken

Eine bestehende Tabelle belegt 12 GB bei 30 Mio Zeilen:

Rechnung Reverse Engineering
ByteProZeile = Speicher / Zeilen
             = 12 · 10⁹ / 30 · 10⁶
             = 400 Byte/Zeile

Diese Größe enthält allerdings bereits Tupel-Header und Füllgrad — die reine Nutzlast liegt typischerweise 20–30 % darunter.