Zalecane, 2019

Wybór Redakcji

Różnica między widokiem a widokiem zmaterializowanym

Do tej pory rozmawialiśmy o oryginalnych tabelach przechowywanych w formie fizycznej w bazach danych. W którym mamy dostęp do wszystkich atrybutów tabel. Co jeśli musimy ograniczyć dostęp użytkownika do niektórych atrybutów tabeli i pozwolić na dostęp do innych atrybutów. Na przykład urzędnik w dziale administracyjnym może wyszukiwać nazwisko, adres, oznaczenie, wiek i inne czynniki związane z tabelą pracowników. Ale nie wolno mu być uprawnionym do przeglądania ani dostępu do wynagrodzenia żadnego pracownika.

W takich przypadkach musimy mieć możliwość utworzenia wirtualnej tabeli, która może wyświetlać tylko wymagane atrybuty z tabeli. Jest to możliwe dzięki View i Materialized View, które omówimy w tym artykule. Omówimy również różnice między widokiem a zmaterializowanym View za pomocą poniższej tabeli porównawczej:

Wykres porównania

Podstawa do porównaniaWidokZmaterializowany widok
PodstawowyWidok nigdy nie jest zapisany, tylko jest wyświetlany.Zmaterializowany widok jest przechowywany na dysku.
DefiniowaćWidok jest wirtualną tabelą utworzoną z jednego lub więcej bazowych tabel lub widoków.Widok zmaterializowany to fizyczna kopia tabeli podstawowej.
AktualizacjaWidok jest aktualizowany za każdym razem, gdy używana jest wirtualna tabela (widok).Zmaterializowany widok musi być aktualizowany ręcznie lub przy użyciu wyzwalaczy.
PrędkośćPowolne przetwarzanie.Szybkie przetwarzanie.
Zużycie pamięciWidok nie wymaga miejsca w pamięci.Zmaterializowany widok wykorzystuje przestrzeń pamięci.
SkładniaUtwórz widok V jakoUtwórz zmaterializowany widok V Kompilacja [klauzula] Odśwież [klauzula] W [Wyzwalanie] Jako

Definicja widoku

Widok to wirtualna tabela utworzona za pomocą polecenia Utwórz widok . Ta wirtualna tabela zawiera dane pobrane z wyrażenia zapytania, w komendzie Utwórz widok. Widok może być utworzony z jednego lub więcej bazowych tabel lub widoków. Widok może być zapytany tak, jak zapytania do oryginalnych tabel podstawowych.

Nie jest tak, że widok jest wstępnie obliczany i przechowywany na dysku, a widok jest obliczany za każdym razem, gdy jest używany lub uzyskiwany dostęp. Za każdym razem, gdy używany jest widok, wyrażenie zapytania w poleceniu Utwórz widok jest wykonywane w tym konkretnym momencie. W związku z tym zawsze otrzymujesz zaktualizowane dane w widoku.

Jeśli zaktualizujesz jakąkolwiek zawartość w widoku, zostanie ona odzwierciedlona w oryginalnej tabeli, a jeśli zostały wprowadzone jakieś zmiany do oryginalnej tabeli podstawowej, odzwierciedli się w jej widoku. Ale to spowalnia działanie widoku. Na przykład widok jest tworzony z połączenia dwóch lub więcej tabel. W takim przypadku musisz zapłacić za czas, aby rozwiązać Joins za każdym razem, gdy używany jest View.

Ma jednak pewne zalety, które nie wymagają miejsca do przechowywania . Można utworzyć dostosowany widok złożonej bazy danych. Możesz ograniczyć dostęp użytkownika do poufnych informacji w bazie danych. Zmniejsza złożoność zapytań, pobierając dane z kilku tabel do jednego dostosowanego widoku.

Teraz zobaczmy składnię widoku

Utwórz widok V jako

Pamiętaj, że wszystkie widoki nie można aktualizować. Podobnie jak w widoku utworzonym przy użyciu klauzuli DISTINCT, klauzuli Group By, ograniczenia CHECK (jeśli ograniczenia kontroli naruszają), opcja Tylko do odczytu nie może zostać zaktualizowana.

Definicja zmaterializowanego widoku

Widok zmaterializowany to fizyczna kopia oryginalnych tabel podstawowych. Widok zmaterializowany jest jak migawka lub obraz oryginalnych tabel podstawowych. Podobnie jak View, zawiera również dane pobrane z wyrażenia zapytania polecenia Create Materialized View .

Ale w przeciwieństwie do widoku, zmaterializowany widok jest wstępnie obliczany i przechowywany na dysku, jak obiekt, i nie są aktualizowane za każdym razem, gdy są używane. Zamiast tego zmaterializowany widok musi być aktualizowany ręcznie lub za pomocą wyzwalaczy . Proces aktualizacji zmaterializowanego widoku nosi nazwę przeglądu zmaterializowanego .

Zmaterializowany widok reaguje szybciej w porównaniu do widoku. Dzieje się tak, ponieważ zmaterializowany widok jest wstępnie obliczony, a zatem nie traci czasu na rozwiązywanie zapytania lub sprzężeń w zapytaniu, które tworzy widok zmaterializowany. Który z kolei reaguje szybciej na zapytanie wykonane na zmaterializowanym widoku.

Sprawdźmy składnię zmaterializowanego widoku:

Utwórz zmaterializowany widok V
Zbuduj [klauzula] Odśwież [type]
WŁĄCZ [wyzwalacz]
Tak jak

Gdzie decyduje Klaster Kompilacji, kiedy zapełniać Zmaterializowany Widok. Typ odświeżania decyduje, jak zaktualizować widok zmaterializowany, a wyzwalacz decyduje, kiedy zaktualizować zmaterializowany widok.

Ustroniowane widoki są zwykle używane w hurtowni danych .

Kluczowe różnice między widokiem a zmaterializowanym widokiem

  1. Podstawowa różnica między widokiem i zmaterializowanym widokiem polega na tym, że widoki nie są fizycznie przechowywane na dysku. Z drugiej strony widoki zmaterializowane są przechowywane na dysku.
  2. Widok można zdefiniować jako wirtualną tabelę utworzoną w wyniku wyrażenia zapytania. Jednak Materialized View jest fizyczną kopią, obrazem lub migawką tabeli podstawowej.
  3. Widok jest zawsze aktualizowany, ponieważ tworzenie widoku jest wykonywane za każdym razem, gdy jest używany widok. Z drugiej strony, Widok zmaterializowany jest aktualizowany ręcznie lub poprzez zastosowanie wyzwalaczy .
  4. Zmaterializowany widok reaguje szybciej niż widok, ponieważ widok zmaterializowany jest wstępnie obliczony.
  5. Zmaterializowany widok wykorzystuje przestrzeń pamięci zapisaną na dysku, podczas gdy widok jest tylko wyświetlaczem, dlatego nie wymaga pamięci.

Wniosek:

Zmaterializowany widok reaguje szybciej w porównaniu do widoku. Ale Widok zawsze dostarcza aktualnych informacji do użytkownika.

Top