Обновляются ли представления после вставки (или обновления) в базовые таблицы немедленно - PullRequest
1 голос
/ 10 декабря 2011

У меня вопрос по поводу просмотров. Представьте, что у нас есть представление, что я вставляю запись в ее базовую таблицу. Мой взгляд обновляется после этой вставки, или я должен сделать SELECT для обновления?

Я думаю, что мой вопрос очевиден - это просто просмотр SELECT или сохранение результата в базе данных, и если это базовая таблица, то, когда она обновляется, она становится обновлением?

Ответы [ 2 ]

4 голосов
/ 10 декабря 2011

Обычные просмотры не сохраняются.Если в него вставляется обновляемое представление, то выбор из представления (или соответствующих базовых таблиц) покажет ваши результаты.

Не совсем уверен, какую проблему вы пытаетесь решить.Представления (неиндексированные) подходят для большинства приложений.

Посмотрите на индексированные представления: Повышение производительности с помощью индексированных представлений SQL Server 2008 :

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

Типичное использование индексированного представления - когда у вас есть дорогие агрегации.

2 голосов
/ 10 декабря 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...