Różnica Między Poglądem A Zmaterializowanym Poglądem

Różnica Między Poglądem A Zmaterializowanym Poglądem
Różnica Między Poglądem A Zmaterializowanym Poglądem

Wideo: Różnica Między Poglądem A Zmaterializowanym Poglądem

Wideo: Różnica Między Poglądem A Zmaterializowanym Poglądem
Wideo: Dlaczego ogrzewanie elektryczne jest najlepsze... (Pogląd elektryka) 2024, Listopad
Anonim

Widok a widok zmaterializowany

Widoki i widoki zmaterializowane (mviews) to dwa typy obiektów bazy danych Oracle. Oba te obiekty odwołują się do zapytań wybierających. Te zapytania wybierające działają jak wirtualne tabele. Zwykle widoki i mviews odnoszą się do dużych zapytań wybierających, które mają zestaw sprzężeń. Dlatego jedną z głównych zalet widoków jest to, że możemy przechowywać złożone zapytania wybierające jako widoki. W związku z tym możemy ukryć logikę stojącą za zapytaniami wybierającymi przed użytkownikami końcowymi. Kiedy musimy wykonać złożoną instrukcję select, po prostu musimy wykonać

wybierz * z nazwy widoku

Widok

Jak wspomniano wcześniej, widok jest wirtualną tabelą, która ukrywa zapytanie wybierające. Te zapytania wybierające nie są wykonywane z wyprzedzeniem. Kiedy wykonujemy instrukcję select z widoku, wykonuje ona instrukcję select, która znajduje się w treści widoku. Załóżmy, że instrukcja select ciała widoku jest bardzo złożoną instrukcją. Więc kiedy jest wykonywany, jego wykonanie zajmuje trochę czasu (względnie więcej czasu). Ponadto widok zajmuje bardzo mało miejsca do przechowywania. Dzieje się tak, ponieważ zawiera tylko instrukcję select jako treść.

Widok zmaterializowany (Mview)

To jest szczególny rodzaj widoku. Mviews są tworzone, gdy mamy problemy z wydajnością widoków. Kiedy tworzymy mview, wykonuje swoje zapytanie wybierające i zapisuje dane wyjściowe jako tabelę migawek. Kiedy żądamy danych od Mview, nie ma potrzeby ponownego wykonywania instrukcji select. Daje dane wyjściowe z tabeli migawek. Dlatego czas wykonania mview jest krótszy niż view (dla tej samej instrukcji select). Jednak mviews nie może być używane przez cały czas, ponieważ pokazuje te same dane wyjściowe, które są przechowywane jako tabela migawek. Powinniśmy odświeżyć mview, aby uzyskać najnowszy zestaw wyników.

Jaka jest różnica między View i Mview?

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

2. Widok nie potrzebuje dużej przestrzeni do przechowywania zawartości, ale mview potrzebuje relatywnie większej przestrzeni niż widok do przechowywania zawartoś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. Mviews muszą zostać odświeżone, aby uzyskać najnowsze dane, ale widoki zawsze zawierają najnowsze dane.

5. Schemat wymaga uprawnienia „tworzenie widoku zmaterializowanego”, aby tworzyć mviews, a dla widoków potrzebuje uprawnienia „tworzenie widoku”.

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

Zalecane: