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

Выбор редакции

Разница между представлением и материализованным представлением

До сих пор мы говорили об исходных таблицах, хранящихся в физической форме в базах данных. В котором у нас есть доступ ко всем атрибутам таблиц. Что если нам нужно ограничить доступ пользователей к некоторым атрибутам таблицы и разрешить доступ к другим атрибутам. Например, клерк в административном отделе может искать имя, адрес, должность, возраст и другие факторы в таблице сотрудников. Но он не должен быть уполномочен просматривать или получать доступ к зарплате любого сотрудника.

В таких случаях мы должны иметь возможность создать виртуальную таблицу, которая может отображать только необходимые атрибуты из таблицы. Это возможно через View и Materialized View, которые мы обсудим в этой статье. Мы также обсудим различия между представлением и материализованным представлением с помощью сравнительной таблицы, показанной ниже:

Сравнительная таблица

Основа для сравненияПосмотретьМатериализованный вид
основнойВид никогда не сохраняется, он только отображается.Материализованное представление хранится на диске.
определятьПредставление - это виртуальная таблица, сформированная из одной или нескольких базовых таблиц или представлений.Материализованное представление является физической копией базовой таблицы.
ОбновитьПредставление обновляется каждый раз, когда используется виртуальная таблица (представление).Материализованное представление должно обновляться вручную или с использованием триггеров.
скоростьМедленная обработка.Быстрая обработка.
Использование памятиПросмотр не требует места в памяти.Материализованный вид использует пространство памяти.
СинтаксисСоздать представление V какСоздать материализованное представление V Построить [предложение] Обновить [предложение] При [Запускать] как

Определение зрения

View - это виртуальная таблица, созданная с помощью команды Create View . Эта виртуальная таблица содержит данные, извлеченные из выражения запроса, в команде Create View. Представление может быть создано из одной или нескольких базовых таблиц или представлений. Представление может быть запрошено так же, как вы запрашиваете исходные базовые таблицы.

Дело не в том, что представление предварительно вычисляется и сохраняется на диске, а представление вычисляется при каждом использовании или доступе к нему. Всякий раз, когда используется представление, выражение запроса в команде Create View выполняется в этот конкретный момент. Следовательно, вы всегда получаете обновленные данные в виде.

Если вы обновляете какое-либо содержимое в представлении, оно отражается в исходной таблице, а если какие-либо изменения были внесены в исходную базовую таблицу, оно отражается в ее представлении. Но это замедляет работу View. Например, представление создается из объединения двух или более таблиц. В этом случае вам нужно уделять время для разрешения соединений каждый раз, когда используется просмотр.

Но у этого есть некоторые преимущества, как это не требует места для хранения . Вы можете создать настраиваемое представление сложной базы данных. Вы можете запретить пользователю доступ к конфиденциальной информации в базе данных. Уменьшает сложность запросов, получая данные из нескольких таблиц в одном настраиваемом представлении.

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

Создать представление V как

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

Определение материализованного представления

Материализованное представление - это физическая копия исходных базовых таблиц. Материализованное представление похоже на снимок или изображение исходных базовых таблиц. Как и View, он также содержит данные, извлеченные из выражения запроса команды Create Materialized View .

Но в отличие от View, материализованное представление предварительно вычисляется и сохраняется на диске как объект, и они не обновляются при каждом использовании. Вместо этого материализованное представление должно обновляться вручную или с помощью триггеров . Процесс обновления Материализованного Представления называется Поддержкой Материализованного Представления .

Материализованное представление реагирует быстрее по сравнению с просмотром. Это потому, что материализованное представление предварительно вычислено и, следовательно, оно не тратит время на разрешение запроса или объединений в запросе, который создает материализованное представление. Который в свою очередь быстрее отвечает на запрос, выполненный в материализованном представлении

Давайте проверим синтаксис материализованного представления:

Создать материализованный вид V
Построить [предложение] Обновить [тип]
ВКЛ [триггер]
Как

Предложение Где строить решает, когда заполнять Материализованное Представление. Тип обновления решает, как обновить материализованное представление, а триггер - когда обновлять материализованное представление.

Матерализованные представления обычно используются в хранилище данных .

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

  1. Основное различие между представлением и материализованным представлением состоит в том, что представления физически не сохраняются на диске. С другой стороны, материализованные представления хранятся на диске.
  2. Представление может быть определено как виртуальная таблица, созданная в результате выражения запроса. Однако Материализованное представление - это физическая копия, изображение или снимок базовой таблицы.
  3. Представление всегда обновляется, так как представление, создающее запрос, выполняется каждый раз, когда оно используется. С другой стороны, материализованное представление обновляется вручную или путем применения к нему триггеров .
  4. Материализованное представление отвечает быстрее, чем представление, поскольку материализованное представление предварительно вычисляется.
  5. Материализованное представление использует пространство памяти в том виде, в котором оно хранится на диске, тогда как представление - это просто отображение, следовательно, оно не требует места в памяти.

Заключение:

Материализованное представление отвечает быстрее по сравнению с представлением. Но View всегда предоставляет пользователю актуальную информацию.

Top