проблема
Я использую «Базу данных Windows Azure SQL» и имею следующее поведение.
Оператору удаления (2000 строк) требуется несколько секунд на моей локальной машине. В базе данных Azure SQL требуется более 2 минут.
После некоторого поиска я обнаружил, что план выполнения запроса на удаление отличается в Azure и на моей локальной машине.
Выполняя мой запрос в обеих базах данных, я получаю совершенно разные планы выполнения запроса.
Запрос
Медленный запрос в базе данных Azure:
DELETE BaseObjects WHERE Id=134510
Планы выполнения
Запрос на локальном компьютере:
Запрос к базе данных Azure:
Конфигурация
В обеих базах данных нет специальной конфигурации, обе базы данных имеют конфигурацию по умолчанию.
Я использую базу данных SQL Azure "Стандарт S3: 100 DTU". Его основанный на DTU не основанный на vCore. Существует индекс для столбца «Id».
Почему этот план выполнения запроса такой большой?
Может ли это быть проблема с производительностью на моей стороне?
Как я могу улучшить производительность для этого утверждения?