共用方式為


Azure Synapse Analytics 中的 T-SQL 檢視,含專用 SQL 集區和無伺服器 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 的檢視只會保存為元資料(metadata)。 因此無法使用下列選項︰

  • 沒有結構描述繫結選項
  • 無法透過檢視更新基底資料表
  • 無法在暫存資料表上建立檢視
  • 不支援 EXPAND / NOEXPAND 參數
  • Synapse SQL 中沒有索引檢視表

下一步

如需更多開發秘訣,請參閱 Synapse SQL 開發概觀