11

我正在阅读SQL Server 2008圣经,它表示物化路径模式显着快于hierarchyid。这是真的吗?我怎样才能让hierarchyid具有相同或更好的性能。物化路径模式VS Hierarchyid

回答

16

本章解释了设计和查询层次结构的三种方法:邻接对,物化路径和层次ID。对于同样的问题,这是三种解决方案,所以是的,比较这三种方法是非常有意义的。事实是,物化路径是最快的,但邻接对可以解决更多类型的层次结构问题。 HierarchyID笨拙,难以查询,而且,如果遵循MSFT的建议,它只会存储相对位置,而不是密钥,所以它的稳健性较差。

+6

嘿......我曾经认为关于HierarchyID数据类型及其方法。在使用它一整天之后,我没有发现你说的关于它笨拙,难以查询的内容。如果与邻接列表保持在同一张表中,我发现它非常强大,并且不是大多数人声称的性能负担。猜猜我必须深入研究“SQL Server 2008 Bible”并了解具体情况。我还在HierarchyID和Nested Sets之间设置了几百万行测试。 – 2011-10-04 02:33:14

+0

邻接对或自我加入CTE表达式解决了我的问题,我必须获取行业和实践代码列表。谢谢保罗! – 2013-03-25 11:17:55

0

你的意思是物化路径与嵌套集还是?物化路径模式可以使用hiearchyid数据类型。比较模式的速度与数据类型的速度没有任何意义。

+2

是的,在sql server 2008圣经 - 他们比较物化路径模式和hierarchyid。即使hierarchyid使用物化路径,它也不会充分利用其所有功能。因此作者将它们并排比较,他说物化路径比层次结构更高效。我不明白这是怎么回事! – Luke101 2010-04-23 22:50:29