Aanbevolen, 2024

Editor'S Choice

Verschil tussen weergave en gematerialiseerde weergave

Tot nu toe hebben we het gehad over originele tabellen die in de fysieke vorm in databases zijn opgeslagen. Waarin we toegang hebben tot alle attributen van de tabellen. Wat als we een gebruiker moeten beperken om toegang te krijgen tot sommige attributen van de tabel en toegang te krijgen tot de andere attributen. Zoals, een medewerker van een administratieve afdeling kan de naam, het adres, de aanduiding, de leeftijd en dergelijke andere factoren van een medewerkerstafel opzoeken. Maar hij moet niet bevoegd zijn om het salaris van een werknemer te bekijken of te raadplegen.

In dergelijke gevallen moeten we een virtuele tabel kunnen maken die alleen de vereiste kenmerken van een tabel kan weergeven. Dit is mogelijk via View en Gematerialiseerde weergave die we in dit artikel zullen bespreken. We bespreken ook de verschillen tussen weergave en gematerialiseerde weergave met behulp van de onderstaande vergelijkingsgrafiek:

Vergelijkingstabel

Basis voor vergelijkingUitzichtGematerialiseerde weergave
basis-Een weergave wordt nooit opgeslagen, deze wordt alleen weergegeven.Een gematerialiseerde weergave wordt op de schijf opgeslagen.
BepalenBeeld is de virtuele tabel gevormd uit een of meer basistabellen of weergaven.Gematerialiseerde weergave is een fysieke kopie van de basistabel.
BijwerkenDe weergave wordt telkens bijgewerkt wanneer de virtuele tabel (weergave) wordt gebruikt.Gematerialiseerde weergave moet handmatig worden bijgewerkt of met behulp van triggers.
SnelheidTrage verwerking.Snelle verwerking.
GeheugengebruikView vereist geen geheugenruimte.Gematerialiseerde weergave maakt gebruik van geheugenruimte.
SyntaxisMaak weergave V alsGematerialiseerde weergave maken V Build [clausule] [clause] vernieuwen Op [Trigger] Als

Definitie van weergave

View is een virtuele tabel, gemaakt met de opdracht Create View . Deze virtuele tabel bevat de gegevens die zijn opgehaald uit een query-uitdrukking in de opdracht Create View. Weergave kan worden gemaakt op basis van een of meer basistabellen of weergaven. Een weergave kan worden opgevraagd zoals u de originele basistabellen bevraagt.

Het is niet zo dat de weergave in eerste instantie wordt voorafgegaan en opgeslagen op de schijf, maar een weergave wordt berekend elke keer dat deze wordt gebruikt of geopend. Telkens wanneer een weergave wordt gebruikt, wordt de query-uitdrukking in de opdracht Create View op dat moment uitgevoerd. Daarom krijgt u altijd de bijgewerkte gegevens in een weergave.

Als u inhoud in View bijwerkt, wordt dit weerspiegeld in de oorspronkelijke tabel en als er wijzigingen zijn aangebracht in de oorspronkelijke basistabel, zou dit in de View worden weerspiegeld. Maar dit maakt de uitvoering van een weergave langzamer . Er wordt bijvoorbeeld een weergave gemaakt van de join van twee of meer tabellen. In dat geval moet u tijd betalen om Joins op te lossen telkens wanneer een weergave wordt gebruikt.

Maar het heeft een aantal voordelen, zoals dat er geen opslagruimte nodig is . U kunt een aangepaste weergave van een complexe database maken. U kunt de gebruiker beperken om toegang te krijgen tot gevoelige informatie in een database. Reduceert de complexiteit van query's door gegevens uit verschillende tabellen in één aangepaste weergave te krijgen.

Laten we nu de syntaxis van View bekijken

Maak weergave V als

Onthoud alles View kan niet worden bijgewerkt. Net als een weergave die is gemaakt met de clausule DISTINCT, de clausule Group By, CHECK- beperking (als controlevoorwaarden schenden), kan de optie Alleen-lezen niet worden bijgewerkt.

Definitie van gematerialiseerde weergave

Gematerialiseerde weergave is de fysieke kopie van de oorspronkelijke basistabellen. De Materialized View is als een snapshot of foto van de originele basistabellen. Net als View bevat het ook de gegevens die zijn opgehaald uit de query-uitdrukking Create Materialized View- opdracht.

Maar in tegenstelling tot View, wordt de Materialized View vooraf berekend en opgeslagen op een schijf als een object en ze worden niet elke keer bijgewerkt wanneer ze worden gebruikt. In plaats daarvan moet de gematerialiseerde weergave handmatig worden bijgewerkt of met behulp van triggers . Het bijwerken van de Materialized View wordt Materialized View Maintenance genoemd .

Gematerialiseerde weergave reageert sneller in vergelijking met weergave. Dit komt omdat de gematerialiseerde weergave vooraf is berekend en dus geen tijd verspilt bij het oplossen van de query of bijdraagt ​​aan de query waarmee de Gematerialiseerde weergave wordt gemaakt. Die op zijn beurt sneller reageert op de vraag die op de gematerialiseerde weergave wordt gemaakt.

Laten we de syntaxis van Materialized View controleren:

Gematerialiseerde weergave maken V
Bouw [clausule] Verversen [type]
AAN [trigger]
Zoals

Where Build- component bepaalt wanneer de Materialized View moet worden ingevuld. Type verversen bepaalt hoe de Materialized View wordt bijgewerkt en de trigger bepaalt wanneer de gematerialiseerde weergave wordt bijgewerkt.

Materalized Views worden over het algemeen gebruikt in het datawarehouse .

Belangrijkste verschillen tussen weergave en gematerialiseerde weergave

  1. Het fundamentele verschil tussen Weergave en Gematerialiseerde weergave is dat weergaven niet fysiek op de schijf worden opgeslagen . Aan de andere kant worden Materialized Views opgeslagen op de schijf.
  2. Weergave kan worden gedefinieerd als een virtuele tabel die is gemaakt als een resultaat van de query-uitdrukking. Gematerialiseerde weergave is echter een fysieke kopie, afbeelding of momentopname van de basistabel.
  3. Een weergave wordt altijd bijgewerkt terwijl de query die wordt gemaakt, wordt uitgevoerd telkens wanneer de weergave wordt gebruikt. Aan de andere kant wordt de Materialized View handmatig bijgewerkt of door triggers eraan toe te passen.
  4. Gematerialiseerde weergave reageert sneller dan Weergave omdat de Gematerialiseerde weergave vooraf is berekend.
  5. Gematerialiseerde weergave maakt gebruik van de geheugenruimte zoals deze op de schijf is opgeslagen, terwijl de weergave slechts een weergave is en daarom geen geheugenruimte nodig heeft.

Conclusie:

Gematerialiseerde weergave reageert sneller in vergelijking met weergave. Maar View biedt altijd up-to-date informatie aan de gebruiker.

Top