Рекомендуємо, 2024

Вибір Редакції

Різниця між переглядом і матеріалізованим видом

До цих пір ми говорили про оригінальні таблиці, що зберігаються у фізичній формі в базах даних. У якому ми маємо доступ до всіх атрибутів таблиць. Що робити, якщо ми повинні обмежити доступ користувача до деяких атрибутів таблиці і дозволити доступ до інших атрибутів. Як, чиновник у адміністративному відділі може шукати ім'я, адресу, позначення, вік та інші фактори службового столу. Але він не повинен бути уповноважений розглядати або отримувати доступ до зарплати будь-якого працівника.

У таких випадках ми маємо можливість створити віртуальну таблицю, яка може відображати тільки необхідні атрибути з таблиці. Це можливо за допомогою пункту меню Перегляд і матеріалізованого перегляду, які ми обговоримо в цій статті. Ми також обговоримо відмінності між переглядом і матеріалізованим видом за допомогою діаграми порівняння, наведеної нижче:

Діаграма порівняння

Основа для порівнянняПереглянутиМатеріалізований вигляд
ОсновнийВигляд ніколи не зберігається, він лише відображається.На диску зберігається матеріалізований вигляд.
ВизначитиПерегляд - це віртуальна таблиця, що формується з однієї або більше базових таблиць або видів.Матеріалізований вигляд - це фізична копія базової таблиці.
ОновленняПерегляд оновлюється кожного разу, коли використовується віртуальна таблиця (View).Матеріалізований перегляд потрібно оновлювати вручну або за допомогою тригерів.
ШвидкістьПовільна обробка.Швидка обробка.
Використання пам'ятіПерегляд не вимагає простору пам'яті.Матеріалізований перегляд використовує обсяг пам'яті.
СинтаксисСтворити вигляд V AsСтворити матеріалізований вигляд V Build [речення] Оновити [пропозиція] На [Trigger] As

Визначення зору

View - це віртуальна таблиця, створена за допомогою команди Create View . Ця віртуальна таблиця містить дані, отримані з виразу запиту, у команді Create View. Перегляд може бути створений з однієї або декількох базових таблиць або видів. Подання можна запитувати, як ви запитуєте початкові базові таблиці.

Це не в тому, що перегляд попередньо обчислюється і зберігається на диску, а вигляд обчислюється кожного разу, коли він використовується або доступний. Всякий раз, коли використовується вигляд, вираз запиту в команді Create View виконується в даний момент. Таким чином, ви завжди отримуєте оновлені дані у перегляді.

Якщо ви оновлюєте будь-який вміст у View, воно відображається в початковій таблиці, і якщо будь-які зміни були внесені до початкової базової таблиці, воно відображатиметься в її перегляді. Але це призводить до меншої продуктивності перегляду. Наприклад, перегляд створюється з об'єднання двох або більше таблиць. У цьому випадку вам доведеться платити час, щоб вирішити питання приєднання кожного разу, коли використовується перегляд.

Але вона має ряд переваг, як вона не вимагає місця для зберігання . Можна створити індивідуальний вигляд складної бази даних. Ви можете обмежити доступ користувача до конфіденційної інформації в базі даних. Зменшує складність запитів, отримуючи дані з декількох таблиць в один налаштований перегляд.

Тепер подивимося на синтаксис View

Створити вигляд V As

Пам'ятати, що всі види не оновлюються. Подібно до перегляду, створеного за допомогою пункту DISTINCT, пропозиція Group By, обмеження CHECK (якщо обмеження перевірки порушуються), параметр " тільки для читання " не може бути оновлений.

Визначення матеріалізованого виду

Матеріалізований вигляд - це фізична копія вихідних базових таблиць. Матеріалізований вигляд є схожим на знімок або зображення вихідних базових таблиць. Подібно до перегляду, він також містить дані, отримані з виразу запиту команди Create Materialized View .

Але на відміну від View, Materialized View попередньо обчислюються і зберігаються на диску, як об'єкт, і вони не оновлюються кожного разу, коли вони використовуються. Натомість матеріалізований вигляд має бути оновлений вручну або за допомогою тригерів . Процес оновлення матеріалізованого вигляду називається підтримкою матеріалізованого перегляду .

Матеріалізований вигляд швидше реагує в порівнянні з переглядом. Це відбувається тому, що матеріалізований вигляд попередньо обчислюється і, отже, він не витрачає часу на розв'язання запиту або об'єднання у запиті, який створює матеріалізований вигляд. Що в свою чергу швидше відповідає запиту, зробленому на матеріалізованому вигляді.

Перевіримо синтаксис матеріалізованого вигляду:

Створити матеріалізований вигляд V
Створити [пропозиція] Оновити [тип]
ON [тригер]
Як

Де пропозиція Build вирішує, коли потрібно заповнити матеріалізований вигляд. Тип оновлення вирішує, як оновлювати матеріалізований вигляд, а тригер вирішує, коли потрібно оновити матеріалізований вигляд.

Матеріалізовані перегляди зазвичай використовуються у сховищі даних .

Ключові відмінності між переглядом і матеріалізованим видом

  1. Основна відмінність між View та Materialized View полягає в тому, що вікна не зберігаються фізично на диску. З іншого боку, на диску зберігаються матеріалізовані перегляди.
  2. Перегляд може бути визначений як віртуальна таблиця, створена в результаті вираження запиту. Однак матеріалізований вигляд - це фізична копія, зображення або знімок базової таблиці.
  3. Перегляд завжди оновлюється, коли створення запиту виконується кожного разу, коли використовується перегляд. З іншого боку, матеріалізований перегляд оновлюється вручну або шляхом застосування до нього тригерів .
  4. Матеріалізований вигляд реагує швидше, ніж перегляд, як попередньо обчислюється матеріалізований вигляд.
  5. Матеріалізований перегляд використовує простір пам'яті, який він зберігає на диску, тоді як перегляд - це просто дисплей, отже, він не вимагає простору пам'яті.

Висновок:

Матеріалізований вигляд швидше реагує на перегляд. Але View завжди надає користувачам актуальну інформацію.

Top