Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Verbrauchen VIEWs Speicherplatz?

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von Datenbank-Neuling, 22 Juni 2020.

  1. Datenbank-Neuling

    Datenbank-Neuling Aktiver Benutzer

    Hallo Zusammen,

    mal angenommen ich habe eine Tabelle1. Darauf aufbauend erstelle ich eine View1. Und daraus ein Report1. Wenn ich nun ein Report2 erstelle, welches ebenfalls als Datenquelle die View1 benötigt... macht es mehr Sinn die View1 zu nehmen oder wäre es besser die gleiche View als View2 abzuspeichern?

    Es besteht die Möglichkeit das man in Zukunft vielleicht noch die View speziell für den Bericht anpassen muss... so könnte man View2 anpassen ohne über die View1 nachzudenken. Allerdings frage ich mich auch, ob es Speicherkapazitäten kostet... wenn man zum Beispiel 10 Reports hat welche die gleiche Tabelle1 nutzen... angelegt in 10 gleichen Views?

    Freue mich über eine Einschätzung.

    Vielen Dank!
     
  2. akretschmer

    akretschmer Datenbank-Guru

    vermutlich ist es in M$SQL recht ähnlich wie z.B. in PostgreSQL. Da gibt es eine Systemtabelle pg_catalog.pg_views:

    Code:
    test=# \d pg_views
                 View "pg_catalog.pg_views"
       Column   | Type | Collation | Nullable | Default
    ------------+------+-----------+----------+---------
     schemaname | name |           |          |
     viewname   | name |           |          |
     viewowner  | name |           |          |
     definition | text |           |          |
    
    test=#
    
    Jede VIEW hat da also einen Eintrag, aber das, was da an Platz benötigt wird, ist minimal.
     
  3. Datenbank-Neuling

    Datenbank-Neuling Aktiver Benutzer

    Wie erkennt man, dass es minimal ist? Im SQL Server Management Studio sehe ich unter Sichten / Systemsichten und [INFORMATION_SCHEMA].[TABLES] alle Tabellen. Aber keine Informationen über die Größe.
     
  4. Dukel

    Dukel Datenbank-Guru

  5. ukulele

    ukulele Datenbank-Guru

    Normalerweise ist der Speicherplatz für View-Definitionen sowieso aber auch für Indexe eher irrelevant. Klar große Tabelle, großer Index aber wer die großen Tabellen hat hat auch großen Speicherplatz, da kommt es auf die paar MB nicht an.

    Es gibt noch materialized views in verschieden SQL-DBs, die verbrauchen auch Speicherplatz.
     
  6. Datenbank-Neuling

    Datenbank-Neuling Aktiver Benutzer

    Die Abfrage auf stackoverflow gibt mir leider nur eine leere Menge zurück. Also insgesamt verbrauchen VIEWs wenig Speicherplatz so wie ich es verstehe? Was genau ist eigentlich der Unterschied zwischen Datenspeicher und Indexspeicher?
     
  7. akretschmer

    akretschmer Datenbank-Guru

    ich kann Dir sagen, wie man in PG die
    der eine wird für Daten gebraucht, der andere für Indexe.
     
  8. ukulele

    ukulele Datenbank-Guru

    Eine einfache View verbraucht keinen Speicher für Daten weil sie keine Daten speichert. Die Daten liegen in den Tabellen wie zuvor. Es ist nur der Code, die Definition der View, der ein wenig Platz braucht. Ein Index ist im Prinzip ein Inhaltsverzeichnis. Das speichert z.B. die Primärschlüssel neu nur eben in einer neuen Reihenfolge so das schneller darauf zugegriffen werden kann.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden