2012-03-27 72 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