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


Представления T-SQL с выделенным пулом SQL и бессерверным пулом SQL в Azure Synapse Analytics

В этой статье представлены советы по использованию представлений T-SQL и разработке решений с выделенным пулом SQL и бессерверным пулом SQL в Azure Synapse Analytics.

Почему используйте представления

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

Пул SQL — создание представления

Примечание.

Синтаксис команды CREATE VIEW в этой статье не рассматривается. Дополнительные сведения см. в документации по CREATE VIEW.

Архитектурная абстракция

Один из распространенных шаблонов приложения — повторное создание таблиц с помощью инструкции CREATE TABLE AS SELECT (CTAS) с последующим шаблоном переименования объектов при загрузке данных.

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

CREATE TABLE dbo.DimDate_New
WITH (DISTRIBUTION = ROUND_ROBIN
, CLUSTERED INDEX (DateKey ASC)
)
AS
SELECT *
FROM   dbo.DimDate  AS prod
UNION ALL
SELECT *
FROM   dbo.DimDate_stg AS stg
;

RENAME OBJECT DimDate TO DimDate_Old;
RENAME OBJECT DimDate_New TO DimDate;

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

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

Производительность и оптимизация

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

Еще одна важная возможность представлений T-SQL — принудительное применение определенного запроса или подсказки по соединению. Таким образом, возможность представлений гарантирует, что соединения всегда выполняются оптимально. Вы избавите пользователей от необходимости запоминать правильную конструкцию для своих соединений.

Ограничения

Представления в Synapse SQL хранятся только в формате метаданных. Поэтому следующие варианты недоступны:

  • отсутствует возможность привязки схемы
  • базовые таблицы нельзя обновлять через представление;
  • для временных таблиц нельзя создавать представления;
  • Нет поддержки подсказок EXPAND / NOEXPAND
  • в Synapse SQL нет индексированных представлений.

Следующие шаги

Дополнительные советы по разработке приведены в обзоре разработки Synapse SQL.