2012-03-27 6 views
0

Мне было интересно, сможет ли кто-нибудь подтвердить, поддерживает ли SQL Azure узлы иерархии и насколько сопоставим с Иерархией SQL 2008 с точки зрения производительности/масштабируемости.Поддержка SQL Azure HierarchyId?

В основном мы изучаем миграцию системы, которая широко использует существующие HierarchyId в очень критичных по производительности методах, и поддержка этой функции - это огромный игровой сменщик для проекта, но у меня нет доступа к База данных SQL Azure для проверки этого в настоящее время.

Я нашел ссылку на него как часть SQL Azure SU3, выпущенную в 2010 году, но в то же время у меня есть противоречия со стороны Microsoft, где они по существу заявили, что не поддерживаются в SQL Azure (прямо в отличие от официального объявление, к сожалению, не напрямую для меня, поэтому я не мог расспрашивать об этом, как я бы хотел) ...

Я надеялся, что кто-то с небольшим опытом работы с Azure может сообщить мне, какая сторона является истиной, и если функция существует, сопоставима ли производительность в SQL Server 2008?

+0

Какие виды деятельности вам интересны? Мы мало используем тип HierarchyId в нашем проекте Azure (для сортировки версий сборки программного обеспечения), например 'order by cast '('/'+ replace (Version,'. ','/') +'/'В качестве иерархии)' Итак, тип должен быть там, но у меня нет опыта в том, что вы могли бы с ним сделать. –

+0

Прежде всего, используя его для метода IsDescendantOf (есть больше, чем мы используем, но если он еще работает, мы, вероятно, могли бы обойти отдых). Мы используем его в основном для производительности, которую он дает для запросов массивных динамических древовидных структур. – fyjham

ответ

1

Да, SQL Azure поддерживает иерархию как тип данных и связанные функции. Описание того, какие функции поддерживаются, see this article. Перейдите к концу статьи для типа данных иерархии.

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

Однако мне интересно, что вы подразумеваете под управлением «критически важных операций». Вероятно, вы должны проверить SQL Azure с точки зрения производительности, чтобы убедиться, что вы получаете то, что вам нужно.

+0

Спасибо за ссылку, похоже, она имеет то, что нам нужно. К критически важным операциям я имею в виду, что я работаю над базой данных с несколькими гигабайтами, а фильтрация HierarchyId IsDescendantOf в наших запросах очень распространена - до такой степени, что, например, подрезание рекурсивного CTE для некоторых из них заставляет сервер базы данных измельчать 100% CPU до таймаута, чтобы достичь того же результата. Мы определенно намерены провести какое-то тестирование производительности, я просто надеялся получить некоторые гарантии высокого уровня, прежде чем инвестировать достаточно, чтобы даже проверить производительность - на этом этапе перемещение - это всего лишь возможная идея. – fyjham

Смежные вопросы