Materialisierte Ansicht im Vergleich zu Tabellen: Was sind die Vorteile?
Es ist mir klar, warum eine materialisierte Ansicht ist vorzuziehen, nur eine Abfrage auf Basis der Tabelle. Was nicht so klar ist der Vorteil gegenüber einfach erstellen eine weitere Tabelle mit den selben Daten wie beim MV. Ist der einzige Vorteil, den der MV wirklich nur der einfachen Erstellung/Wartung?
Nicht ein MV entspricht einer Tabelle mit dem matching-schema und ein INSERT INTO mit dem MVs-SELECT-Anweisung?
Bedeutung, die Sie erstellen können ein MV wie folgt
CREATE MATERIALIZED VIEW ... AS
SELECT * FROM FOO;
Und Sie können erstellen eine äquivalente Tabelle:
CREATE TABLE bar (....);
INSERT INTO bar
SELECT * FROM FOO;
Nicht zu sagen, dass die Leichtigkeit der Erstellung /Wartung ist nicht genug ein Vorteil, ich will nur sicherstellen, dass ich nichts verpasst.
ANSICHT
ist nicht erstellen Sie eine Materialisierte Ansicht. InformationsquelleAutor der Frage seth | 2010-11-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dynamische Abfrage umschreiben. Materialisierte Ansichten bestimmen nicht nur die Beziehungen, sondern auch können Sie vorausberechnen teuer Verknüpfungen und Aggregationen. Der Optimierer ist smart genug, um die MV zu Holen, relevanten Daten, auch wenn die MV nicht explizit in der Abfrage verwendet (DB-Einstellungen, etc).
Deine Frage wurde getaggt als Oracle, aber MSSQL auch nicht ähnliche tricks.
InformationsquelleAutor der Antwort Donnie
Im Grunde sind Sie gleichwertig, aber die MV hat verschiedene Optionen für das automatische aktualisieren der Daten, die nicht nur zur Verbesserung der Wartungsfreundlichkeit, aber auch in einigen Fällen, Effizienz, denn es können änderungen verfolgen, indem Sie Zeile.
InformationsquelleAutor der Antwort Dave Costa
Materialisierte Ansichten können aktualisiert werden - Sie sind Momentaufnahmen von Daten in regelmäßigen Abständen genommen.
Ihre zweite Aussage ist nur eine einmalige deal - Daten eingefügt wird in die Tabelle in diesem moment. Weitere änderungen an den ursprünglichen Daten nicht bekommen, spiegelt sich in der Tabelle.
InformationsquelleAutor der Antwort Roopesh Shenoy
Die materialisierte Sicht bleiben wird, synchronisiert mit dem base-Beziehungen
von denen es abhängt.
Wenn die materialisierte Ansicht aktualisiert, wenn Sie das ändern
materialized view, wird es auch ändern Sie die Basis-relation, auf die es
hängt.
InformationsquelleAutor der Antwort Rose Perrone
den großen Vorteil, eine Materialisierte Ansicht ist eine extrem schnelle abrufen von aggregierten Daten, da es im Voraus berechnete und gespeicherte, auf Kosten von insert/update/delete. Die Datenbank wird halten die Materialisierte Ansicht in Synchronisation mit den echten Daten, keine Notwendigkeit, das Rad neu zu erfinden, lassen Sie die Datenbank für Sie tun.
InformationsquelleAutor der Antwort KM.
Zusätzlich zu den anderen Antworten (weil ich es noch nicht gesehen haben), würde ich sagen, dass, obwohl Sie sowohl Speicherplatz verwenden, die materialisierte Ansicht ist logisch, normalisiert, in der Erwägung, dass die extra Tabelle ist logisch denormalisierten. Wenn dies ist etwas, das nicht ist eine temporäre one-off, müssen Sie daran denken, aktualisieren Sie die zweite Tabelle, wenn Sie ein update der Basis-Tabelle.
InformationsquelleAutor der Antwort orbfish
1) Beschleunigt Schreibvorgänge: Da die Indizes erstellt werden können materialisierte sichten, Lesen von Ihnen ist sehr schnell. Beachten Sie, dass, wenn Sie erstellen einen index für eine Tabelle, die enthält eine Menge schreibt, index Wartungsaufwand tendenziell zu verlangsamen den schreib-Prozess. Um dies zu vermeiden können Sie erstellen, materialisieren, anzeigen und erstellen von Indizes auf. Diese Indizes können beibehalten werden, im hintergrund und wirkt sich nicht negativ auf Tisch schreiben-Operationen.
2) Beschleunigt Lesevorgänge: Komplexe Verknüpfungen; pivots, die Ewigkeiten laufen kann beschleunigt werden durch die Schaffung von Indizes für materialisierte Ansichten. Dies wird sehr nützlich in den meisten reporting-Szenarios.
InformationsquelleAutor der Antwort Sriwantha Attanayake
In der additition der schon genannten Vorteile:
Erwähnen möchte ich:
InformationsquelleAutor der Antwort jrouquie
Den Unterschied zwischen Tisch-und MV ist mit Tisch , die Sie tun können, DML-Operationen, die von anderen Benutzern eingesehen werden, während die änderungen, die Sie tun, um MV werden nicht für andere verfügbar, bis Sie aktualisieren Sie Ihre Datenbank-server.
MV hat einen weiteren Vorteil, wenn Sie bauen, MV, basierend auf mehreren Tabellen mit komplexen Abfragen, die die Benutzer bei der Verwendung von MV die Leistung drastisch erhöht.
InformationsquelleAutor der Antwort vettipayyan