Производительность удаления SQL Azure значительно ниже, чем на локальном сервере SQL-Express. - PullRequest
2 голосов
/ 23 мая 2019

проблема

Я использую «Базу данных Windows Azure SQL» и имею следующее поведение. Оператору удаления (2000 строк) требуется несколько секунд на моей локальной машине. В базе данных Azure SQL требуется более 2 минут.

После некоторого поиска я обнаружил, что план выполнения запроса на удаление отличается в Azure и на моей локальной машине.

Выполняя мой запрос в обеих базах данных, я получаю совершенно разные планы выполнения запроса.

Запрос

Медленный запрос в базе данных Azure:

DELETE BaseObjects WHERE Id=134510

Планы выполнения

Запрос на локальном компьютере:

local database

Запрос к базе данных Azure:

azure database

Конфигурация

В обеих базах данных нет специальной конфигурации, обе базы данных имеют конфигурацию по умолчанию. Я использую базу данных SQL Azure "Стандарт S3: 100 DTU". Его основанный на DTU не основанный на vCore. Существует индекс для столбца «Id».

Почему этот план выполнения запроса такой большой?

Может ли это быть проблема с производительностью на моей стороне?

Как я могу улучшить производительность для этого утверждения?

...