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 vergelijking | Uitzicht | Gematerialiseerde weergave |
---|---|---|
basis- | Een weergave wordt nooit opgeslagen, deze wordt alleen weergegeven. | Een gematerialiseerde weergave wordt op de schijf opgeslagen. |
Bepalen | Beeld is de virtuele tabel gevormd uit een of meer basistabellen of weergaven. | Gematerialiseerde weergave is een fysieke kopie van de basistabel. |
Bijwerken | De weergave wordt telkens bijgewerkt wanneer de virtuele tabel (weergave) wordt gebruikt. | Gematerialiseerde weergave moet handmatig worden bijgewerkt of met behulp van triggers. |
Snelheid | Trage verwerking. | Snelle verwerking. |
Geheugengebruik | View vereist geen geheugenruimte. | Gematerialiseerde weergave maakt gebruik van geheugenruimte. |
Syntaxis | Maak weergave V als | Gematerialiseerde 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
- 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.
- 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.
- 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.
- Gematerialiseerde weergave reageert sneller dan Weergave omdat de Gematerialiseerde weergave vooraf is berekend.
- 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.