Esta é uma resposta à pergunta de Kirk 'por que não usá-lo (HierarchyId)'. Em comparação com o caminho materializado, em alguns casos importantes, o HierarchyId parece ter menos desempenho e menos conveniente para trabalhar.
O motivo é simples: citando o comentário da Microsoft no Connect , "O problema é que as chamadas CLR, incluindo os métodos de hierarchyID, são opacas ao otimizador de consultas. Isso ocorre por design. No entanto, isso significa que a estimativa de cardinalidade para elas às vezes pode ser bastante errado."
Por outro lado, implementar o caminho materializado é muito fácil na primeira vez que precisamos fazê-lo, e da próxima vez é essencialmente uma tarefa de copiar e colar. Portanto, obtemos uma solução mais versátil e com melhor desempenho com muito pouco esforço.
Portanto, concordo plenamente com Paul Nielsen, que escreveu em seu excelente livro intitulado "Microsoft® SQL Server® 2008 Bible" da seguinte maneira: "O novo HierarchyID não é isento de controvérsias. É novo e ganha bastante tempo na imprensa e na demonstração, mas eu ' não tenho certeza se é um problema que precisa de outra solução. "