内置的hierarchyid是一个CLR,它以高效的二进制形式存储路径,并提供其他有用的功能。
不幸的是,所表示的路径的深度是有限的,对于二叉树来说大约是 1427。对于必然会达到此限制的复杂现有应用程序,我想增加该限制。我不想改变类型的界面。我不相信我可以改变类型的接口而不将细微的错误引入所有必须更改的代码中。
我可以(理论上)创建一个“binhierarchyid”CLR UDT,它实现与hierarchyid 相同的接口,但只支持二叉树。这应该让我获得 ~7000 的深度,同时仍然保持在 900 字节的限制内。不知道这将是一项多大的事业。
这个hierarchyid CLR的来源是否在某处可用,以便我可以基于它创建自己的支持更深层次的结构?