Производительность SQL Azure STDistance

У меня большая проблема с производительностью функции STDistance в SQL Azure.

Я тестирую тот же запрос

SELECT Coordinate
FROM MyTable
WHERE Coordinate.STDistance(@Center) < 50000

в базе данных SQL Azure (стандарт) и в базе данных моего локального компьютера. Та же база данных, те же индексы (пространственный индекс по координатам), те же данные (400 тыс. Строк), но у меня два разных времени выполнения.

Запрос занимает менее 1 секунды на моей локальной рабочей станции и более или менее 9 секунд в SQL Azure.

У кого-нибудь еще есть такая же проблема?

Федерико


person Federico Degrandis    schedule 02.12.2014    source источник


Ответы (3)


Вы можете попробовать следующее, чтобы уменьшить задержку в сети:

  • Выберите центр обработки данных, ближайший к большинству ваших пользователей

  • Совместите свою БД с вашим приложением, если ваше приложение также находится в Windows Azure

  • Минимизируйте сетевые обходы в вашем приложении

Я настоятельно рекомендую вам прочитать это руководство по производительности базы данных SQL Azure.

В дополнение к этому, проверьте существующий уровень обслуживания вашей базы данных и посмотрите, не исчерпывается ли производительность. В этом случае вы можете захотеть обновить уровень обслуживания вашей БД. Если вы хотите отслеживать производительность и настраивать уровни производительности, используйте эту ссылку.

Спасибо

Сильвия Думра

person Silvia Doomra    schedule 13.05.2015

Производительность запроса зависит от различных факторов, одним из которых является уровень производительности. Убедитесь, что вы достигли своих ограничений ресурсов (sys.resource_stats dmv из базы данных master)

Помимо этого, есть еще несколько факторов, которые вы можете рассмотреть для проверки: фрагментация индекса в Azure, задержка в сети, блокировка и т. Д.

Кэширование на уровне приложения помогает избежать попадания в базу данных, если запрос повторяется.

person Sirisha Chamarthi    schedule 14.05.2015

Вам также может потребоваться выяснить, какой уровень обслуживания и уровень производительности требуется на основе контрольных показателей здесь, AzureSQL-ServierTier_PerformanceLevel

person Pradebban Raja    schedule 28.06.2015