Microsoft Fabric 效能指導方針中的 Synapse 數據倉儲
適用於: Microsoft Fabric 中的倉儲
這些是協助您瞭解 Microsoft Fabric 中倉儲效能的指導方針。 在本文中,您將找到要專注於的指引和重要文章。 Microsoft Fabric 中的倉儲是 SaaS 平臺,平臺會在內部管理工作負載管理、並行存取和記憶體管理等活動。 除了此內部效能管理之外,您仍然可以針對設計良好的倉儲開發高效能查詢來改善效能。
冷執行 (冷快取) 效能
使用本機 SSD 和記憶體 進行快取是自動的。 查詢的前 1-3 個執行執行速度明顯比後續執行慢。 如果您遇到冷執行效能問題,您可以執行下列幾個動作來改善冷執行效能:
如果第一次執行的效能很重要,請嘗試手動建立統計數據。 請檢閱統計數據一文,以進一步了解統計數據的角色,以及如何建立手動統計數據以改善查詢效能的指引。 不過,如果第一次執行效能不重要,您可以依賴在第一個查詢中產生的自動統計數據,並將繼續在後續執行中加以利用(只要基礎數據不會顯著變更)。
如果使用 Power BI,請盡可能使用 Direct Lake 模式。
監視效能的計量
目前,監視中 樞 不包含倉儲。 如果您選擇 資料倉儲,您將無法從導覽列存取 監視中樞 。
網狀架構系統管理員將能夠存取 容量使用率和計量 報告,以取得追蹤包含倉儲之容量使用率的最新資訊。
使用動態管理檢視 (DMV) 監視查詢執行
您可以使用 動態管理檢視 (DMV) 來監視倉儲中的連線、工作階段和要求狀態。
統計資料
倉儲會使用查詢引擎來建立指定 SQL 查詢的執行計劃。 當您提交查詢時,查詢優化器會嘗試列舉所有可能的計劃,並選擇最有效率的候選專案。 若要判斷哪一個計劃需要最少的額外負荷,引擎必須能夠評估每個運算符可能處理的工作或數據列數量。 然後,根據每個方案的成本,它會選擇具有最少估計工時數量的方案。 統計數據是包含數據相關信息的物件,可讓查詢優化器估計這些成本。
您也可以 在每個數據載入或數據更新之後手動更新統計數據 ,以確保可以建置最佳的查詢計劃。
如需詳細資訊統計數據,以及如何增強自動建立的統計數據,請參閱 Fabric 數據倉儲中的統計數據。
數據擷取指導方針
將數據擷取到倉儲有四個選項:
- COPY (Transact-SQL)
- 資料管線
- 資料流程
- 跨倉儲擷取
若要協助判斷哪一個選項最適合您,並檢閱一些數據擷取最佳做法,請檢閱 內嵌數據。
將 INSERT 語句分組成批次(避免小花招插入)
使用 INSERT 語句對小型數據表進行一次性載入,例如下列範例所示,視您的需求而定,可能是最佳方法。 不過,如果您需要全天載入數千個或數百萬個數據列,單一 INSERTS 並不最佳。
INSERT INTO MyLookup VALUES (1, 'Type 1')
如需如何處理這些棘手負載案例的指引,請參閱 擷取數據的最佳做法。
將交易大小降到最低
INSERT、UPDATE 和 DELETE 語句會在交易中執行。 當失敗時,必須回復它們。 若要降低長時間回復的可能性,請盡可能將交易大小降到最低。 將 INSERT、UPDATE 和 DELETE 語句分割成部分,即可將交易大小降至最低。 例如,如果您有預期需要 1 小時的 INSERT,您可以將 INSERT 分成四個部分。 然後,每次執行都會縮短為15分鐘。
請考慮使用 CTAS (Transact-SQL) 來寫入您想要保留在數據表中的數據,而不是使用 DELETE。 如果 CTAS 花費相同的時間,執行會更安全,因為它的事務歷史記錄最少,而且可以視需要快速取消。
共置用戶端應用程式和 Microsoft Fabric
如果您使用用戶端應用程式,請確定您在靠近用戶端電腦的區域中使用 Microsoft Fabric。 用戶端應用程式範例包括 Power BI Desktop、SQL Server Management Studio 及 Azure Data Studio。
利用星型架構數據設計
星型架構會將數據組織成事實和維度數據表。 星型架構設計可藉由將高度正規化 OLTP 系統的數據正規化、將事務數據和企業主要數據擷取至通用、清理和已驗證的數據結構,以在查詢時間將 JOINS 降到最低、減少讀取的數據列數目,並協助匯總和分組處理,來協助分析處理。
如需更多倉儲設計指引,請參閱 數據倉儲中的數據表。
減少查詢結果集大小
減少查詢結果集大小可協助您避免因大型查詢結果所造成的客戶端問題。 SQL 查詢編輯器結果集僅限於前 10,000 個數據列,以避免在此瀏覽器型 UI 中發生這些問題。 如果您需要傳回超過 10,000 個數據列,請使用 SQL Server Management Studio (SSMS) 或 Azure Data Studio。
選擇效能的最佳數據類型
定義數據表時,請使用支持資料的最小數據類型,因為這樣做會改善查詢效能。 這項建議對於 CHAR 和 VARCHAR 數據行很重要。 如果數據行中的最長值為 25 個字元,請將數據行定義為 VARCHAR(25)。 請避免定義具有較大預設長度的所有字元數據行。
可能的話,請使用以整數為基礎的數據類型。 SORT、JOIN 和 GROUP BY 作業在整數上完成的速度比字元數據更快。
如需支持的數據類型和詳細資訊,請參閱 數據類型。
相關內容
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應