Azure Synapse Analytics 中專用 SQL 集區和無伺服器 SQL 集區的 T-SQL 檢視

在本文中,您將了解使用 T-SQL 檢視,及 Azure Synapse Analytics 中專用 SQL 集區和無伺服器 SQL 集區開發解決方案的秘訣。

為何要使用檢視

檢視能以許多不同的方式使用,提升您的方案品質。 本文著重如何使用檢視來擴充解決方案的範例,並包含所需考量的限制。

SQL 集區 - 建立檢視

注意

本文中不會討論 CREATE VIEW 的語法。 如需詳細資訊,請參閱 CREATE VIEW 文件。

架構抽象概念

常見的應用程式模式是,使用 CREATE TABLE AS SELECT 重新建立資料表,並在載入資料時使用物件重新命名模式。

下列範例會將新的日期記錄加入至日期維度。 請注意新的資料表 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 開發概觀