Возможности производительности

Завершено

Начнем с рассмотрения некоторых возможностей производительности SQL Azure по сравнению с SQL Server.

Так как база данных SQL Azure и Управляемый экземпляр SQL Azure основаны на ядре СУБД SQL Server, большинство возможностей, которые входят в состав SQL Server, также доступны в SQL Azure. Существует несколько возможностей, влияющих на производительность баз данных, которые следует учитывать при развертывании и настройке SQL Azure. К ним относятся максимальные емкости, индексы, OLTP в памяти, секции, улучшения SQL Server и интеллектуальные возможности производительности.

Доступные объемы памяти, ресурсов ЦП и операций ввода-вывода

Выбор правильного развертывания и уровня служб для базы данных или Управляемого экземпляра SQL Azure может быть важен для повышения производительности. Во втором модуле вы узнали о различных вариантах развертывания для SQL Azure. Учитывайте следующие важные максимальные объемы в рамках развертывания:

  • База данных SQL Azure может поддерживать до 128 виртуальных ядер, 4 ТБ памяти и объем базы данных до 4 ТБ.
  • Развертывание на уровне "Гипермасштабирование" поддерживает базы данных размером до 100 ТБ.
  • Управляемый экземпляр SQL Azure может поддерживать до 80 виртуальных ядер, 400 ГБ памяти и базы данных до 8 ТБ.
  • Количество виртуальных ядер и уровень служб также влияет на емкость других ресурсов, например на максимальную производительность журнала транзакций, число операций ввода-вывода в секунду, задержку операций ввода-вывода и память.
  • Объекты задания Windows используются для поддержки ограничений определенных ресурсов, таких как память. Используйте sys.dm_os_job_object, чтобы найти реальные объемы для развертывания.

Индексы

Индексы часто очень важны для повышения производительности запросов SQL Server и SQL Azure. Ниже приведены важные моменты, которые следует учитывать при работе с индексами и SQL Azure:

  • Все типы индексов, кластеризованные и некластеризованные, поддерживаются в SQL Azure.
  • Подключенные к сети и возобновляемые индексы поддерживаются полностью. Подключенные к сети и возобновляемые индексы могут быть критически важными для обеспечения максимальной доступности.
  • Индексы columnstore доступны практически на всех уровнях служб. Сведения об исключениях см. в документации.

Выполняющаяся в памяти OLTP

Важным фактором, характеризующим обработку транзакций в строке (OLTP), является приложение, которое считывает и записывает данные с множеством параллельных транзакций в режиме реального времени. Выполняющаяся в памяти OLTP — это возможность для приложений, чувствительных к задержке транзакций, таких как приложения с большим количеством одновременных пользователей, изменяющих данные. Ниже приведены важные моменты о выполняющейся в памяти OLTP и SQL Azure:

  • Оптимизированные для памяти таблицы доступны только на уровнях "Критически важный для бизнеса".
  • Оптимизированная для памяти FILEGROUP предварительно создается в базе данных SQL Azure и Управляемом экземпляре SQL при создании базы данных (даже для уровней "Общего назначения").
  • Объем памяти для таблиц, оптимизированных для памяти, представляет собой процентную долю предела памяти, зависящего от виртуальных ядер.

Секции

В SQL Server часто используются секции для таблиц с большим количеством строк для повышения производительности путем деления данных по столбцу в таблице. Учитывайте следующие моменты для секций в SQL Azure:

  • Секции поддерживаются для базы данных SQL Azure и Управляемого экземпляра SQL.
  • Файловые группы можно использовать только с секциями в Управляемый экземпляр SQL.

Последние улучшения производительности SQL Server

Многие функции производительности, представленные с sql Server 2019, такие как интеллектуальная обработка запросов (IQP), также доступны в База данных SQL Azure и Управляемый экземпляр SQL Azure. Однако есть и исключения. Например, tempdb оптимизация метаданных пока недоступна для SQL Azure. Полный список поддержки функций IQP см. в разделе "Интеллектуальные функции обработки запросов".

Интеллектуальное управление производительностью

Интеллектуальное управление производительностью в SQL Azure включает в себя интеллектуальную обработку запросов, автоматическое исправление плана и автоматическую настройку (включая индексы). Дополнительные сведения об этих функциях см. в следующем уроке.