Różnica między widokiem a widokiem zmaterializowanym

Widok kontra widok zmaterializowany

Widoki i zmaterializowane widoki (mviews) to dwa typy obiektów bazy danych Oracle. Oba te obiekty odnoszą się do wybranych zapytań. Te wybrane zapytania działają jak wirtualne tabele. Zwykle widoki i mview odnoszą się do dużych wybranych zapytań, które mają zestaw złączeń. Dlatego jedną z głównych zalet widoków jest to, że możemy przechowywać złożone zapytania selekcyjne jako widoki. Dlatego możemy ukryć logikę wybranych zapytań przed użytkownikami końcowymi. Kiedy musimy wykonać złożoną instrukcję select, musimy ją wykonać

                      wybierz * z nazwy widoku

Widok

Jak wspomniano wcześniej, widok jest wirtualną tabelą, która ukrywa wybrane zapytanie. Te wybrane zapytania nie są wstępnie wykonywane. Kiedy wykonujemy instrukcję select z widoku, wykonuje ona instrukcję select, która znajduje się w treści widoku. Załóżmy, że instrukcja select treści widoku jest bardzo złożoną instrukcją. Więc kiedy jest wykonywany, zajmuje trochę czasu (stosunkowo więcej czasu). Ponadto widok używa bardzo małej przestrzeni do przechowywania. Wynika to z faktu, że jego treść zawiera tylko instrukcję select.

Widok zmaterializowany (widok)

To jest specjalny typ widoku. Widoki są tworzone, gdy mamy problemy z wydajnością widoków. Kiedy tworzymy mview, wykonuje on wybrane zapytanie i zapisuje dane wyjściowe jako tabelę migawek. Kiedy żądamy danych od Mview, nie trzeba ponownie wykonywać instrukcji select. Daje wynik z tabeli migawek. Dlatego czas wykonania mview jest krótszy niż view (dla tej samej instrukcji select). Jednak mviewów nie można używać przez cały czas, ponieważ pokazuje to samo wyjście, które jest przechowywane jako tabela migawek. Powinniśmy odświeżyć mview, aby uzyskać jego najnowszy zestaw wyników.

Jaka jest różnica pomiędzy Wyświetl i wyświetl?

1. Mview zawsze zapisuje dane wyjściowe jako tabelę migawek podczas tworzenia, ale widok nie tworzy żadnych tabel.

2. Widok nie potrzebuje dużej przestrzeni do przechowywania treści, ale mview potrzebuje relatywnie większej przestrzeni niż widok do przechowywania treści (jako tabela migawek). 

3. Widok zajmuje dłuższy czas wykonania, ale mview zajmuje mniej czasu niż widoki (dla tej samej instrukcji select).

4. Widoki muszą zostać odświeżone, aby uzyskać najnowsze dane, ale widoki zawsze podają najnowsze dane.

5. Schemat potrzebuje „Utwórz widok zmaterializowany” uprawnienie do tworzenia mviewów, a do widoków potrzebuje „Utwórz widok” przywilej.

6. Indeksy można tworzyć na widokach, aby uzyskać większą wydajność, ale indeksów nie można tworzyć na widokach.