效能功能
一開始,我們先查看 Azure SQL 相較於 SQL Server,有哪些效能功能。
由於 Azure SQL Database 和 Azure SQL 受控執行個體是以 SQL Server 資料庫引擎為基礎;因此,SQL Server 隨附的大部分功能也適用於 Azure SQL。 有一些功能會影響資料庫效能,您應該在部署和設定 Azure SQL 時考慮。 其中包括容量上限、索引、記憶體內部 OLTP、分割區、SQL Server 增強功能,以及智慧型效能功能。
記憶體、CPU 和 I/O 容量
針對效能,為 Azure SQL Database 或 SQL 受控執行個體選擇正確的部署和服務層級相當重要。 在第二個課程模組中,您已了解 Azure SQL 的各種部署選項。 在您的部署過程中,請考量下列重要的容量上限:
- Azure SQL Database 最多可支援 128 個虛擬核心、4 TB 記憶體和 4 TB 資料庫大小。
- 超大規模資料庫部署選項最多可支援 100 TB 的資料庫大小。
- Azure SQL 受控執行個體最多可支援 80 個虛擬核心、400 GB 記憶體,以及 8 TB 的資料庫大小。
- 虛擬核心數和服務層級也會影響其他資源容量,例如交易記錄速率上限、IOPS、I/O 延遲和記憶體。
- Windows 作業物件會用來支援特定的資源限制,例如記憶體。 使用 sys.dm_os_job_object 來尋找部署的真正容量。
索引數
索引通常對 SQL Server 和 Azure SQL 的查詢效能而言非常重要。 以下是關於索引和 Azure SQL 的重要考慮事項:
- 所有索引類型 (叢集和非叢集) 都可跨 Azure SQL 受到支援。
- 線上和可繼續索引可完全受到支援。 線上和可繼續索引可能是將可用性最大化的關鍵。
- 資料行存放區索引幾乎適用於所有服務層級。 請查看文件以了解是否有任何例外。
記憶體內部 OLTP
線上交易處理 (OLTP) 特徵的重要因素是應用程式,可即時讀取和寫入具有許多並行交易的資料。 記憶體內部 OLTP 是適用於交易延遲敏感應用程式的一項功能,例如有大量並行使用者同時修改資料的應用程式。 以下是與記憶體內部 OLTP 和 Azure SQL 相關的重點:
- 經記憶體最佳化的資料表僅適用於業務關鍵層。
- 在 Azure SQL Database 和 SQL 受控執行個體中,已最佳化記憶體的 FILEGROUP 會在建立資料庫時預先建立 (即使是一般用途層也是一樣)。
- 記憶體最佳化資料表的記憶體數量是虛擬核心相依記憶體限制的百分比。
資料分割
使用 SQL Server 時,您通常會針對具有大量資料列的資料表使用分割區,藉由將資料子分割為數據表中的資料來改善效能。 請針對 Azure SQL 的分割區考慮下列幾點:
- Azure SQL Database 和 SQL 受控執行個體皆支援分割區。
- 您只能在SQL 受管理執行個體上使用檔案群組與分割區。
最近的 SQL Server 效能增強功能
自 SQL Server 2019 以來引進的許多效能功能,例如智慧型查詢處理(IQP),也可用於 Azure SQL 資料庫和Azure SQL 受控執行個體。 但有一些例外狀況。 例如, tempdb
Azure SQL 尚未提供中繼資料優化。 如需 IQP 功能支援的明確清單,請檢閱 智慧查詢處理功能 。
智慧效能
智慧效能涵蓋的 Azure SQL 功能包括智慧型查詢處理、自動計劃修正和自動調整 (包括索引)。 您將在稍後的單元中深入瞭解這些功能。