2012-03-27 74 views
0

我想知道是否有人可以确定SQL Azure是否支持层次结构节点,以及它在性能/可伸缩性方面与SQL 2008的层次结构ID的可比性。SQL Azure HierarchyId支持吗?

基本上我们正在考虑迁移一个系统,该系统在非常高性能的关键方法中广泛使用现有的HierarchyId,并且对此功能的支持是项目的大规模改变者,但我无法访问SQL Azure数据库目前正在测试这个。

我已经在2010年发布了SQL Azure SU3的一部分,我发现它有一些参考,但同时我也有微软的矛盾,他们基本上说它不支持SQL Azure(直接与官方相对公告,不幸的是不直接给我,所以我不能像我想要的那样质疑它)...

我希望有一些有Azure经验的人可以让我知道哪一方是真的,如果该功能是否与SQL Server 2008中的性能相当?

+0

您对哪些操作感兴趣?我们只做小使用HierarchyId的类型在我们的Azure项目(排序软件构建版本),通过铸像'秩序(“/” +取代(版本,“”,‘/’)+‘/’作为HIERARCHYID)' 所以类型应该是有,但我没有经验,你可以用它做什么.. – 2012-03-27 08:18:51

+0

主要将其用于IsDescendantOf方法(还有更多,我们使用,但如果一个仍然工作,我们也许可以解决的休息)。我们主要用它来查询大量的动态树结构。 – fyjham 2012-03-28 04:07:06

回答

1

是的,SQL Azure支持hierarchyid作为数据类型和相关函数。有关支持哪些功能的说明,请参阅see this article。转到文章末尾的层次结构数据类型。

无论官方文档说什么,你都应该尝试针对SQL Azure数据库的数据库模式。创建Azure帐户需要几秒钟的时间,并确定您的数据库模式是否兼容也很容易。

但是,我想知道你的意思是运行“性能关键操作”。您应该从性能角度测试SQL Azure,以确保获得您所需的内容。

+0

感谢您的链接,看起来像它有我们需要的东西。通过性能关键的操作我的意思是我的工作多GB的数据库,并在我们的查询HierarchyId的IsDescendantOf过滤上是很常见的 - 到例如subsituting递归CTE为他们中的一些使数据库服务器研磨100%的点CPU直到超时达到完全相同的结果。我们一定打算做一些我们自己的性能测试,我只是希望能得到一些高层次的保证之前,我们投资不足,甚至测试性能 - 在这个阶段移动它仅仅是一个可能的想法。 – fyjham 2012-03-28 04:02:15