Поделиться через


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

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

Хранение. Представления хранятся как часть структуры базы данных, запросы — нет. При разработке базы данных можно включить представления в структуру по следующим причинам:

  • Некоторые поднаборы данных интересны многим пользователям. Поскольку все представления хранятся в базе данных, они устанавливают конкретные поднаборы данных, которые могут использоваться любым пользователем базы данных.

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

Обновление результатов. Ограничения на обновление результирующих наборов для запросов и представлений различны. Дополнительные сведения см. в разделе Правила обновления результатов.

Сортировка результатов (только Microsoft SQL Server only). Можно сортировать результаты любого запроса, однако сортировка результатов представления доступна только в том случае, если представление содержит предложение TOP. Дополнительные сведения о предложении TOP см. в документации по SQL Server. Дополнительные сведения о сортировке см. в разделе Сортировка и группировка результатов запроса.

Создание плана запроса. План запроса является внутренней стратегией, в соответствии с которой сервер базы данных предпринимает попытки быстро создавать результирующие наборы. Сервер базы данных может установить план запроса для представления при сохранении представления. Тем не менее, в случае запроса сервер базы данных не может создать план запроса до его фактического выполнения, то есть до того момента, когда пользователь явным образом запросит результирующий набор.

Параметризация. Для запроса можно указывать параметры, для представления — нет. Дополнительные сведения о параметризованных запросах см. в разделе Выполнение запросов с помощью параметров.

См. также

Другие ресурсы

Конструирование запросов и представлений