2012-09-24 16 views
7

Tengo datos jerárquicos. Las consultas más comunes serán "get parent branch for node" y "get subárbol de nodo". No es probable que ocurran actualizaciones e inserciones a menudo. Estoy eligiendo entre conjuntos anidados y hierarchyid. En lo que a mí respecta, la búsqueda en conjunto anidado debe ser bastante rápida en las columnas indexadas, sin embargo, no tengo ni idea sobre la implementación interna de hierarchyid. ¿Qué debería usar para lograr el máximo rendimiento posible?SQL Server Conjunto anidado vs rendimiento de Hierarchyid

+2

¿Prueba, prueba y prueba? (También puede probar otros modelos como Closure) –

+0

Lo estoy preguntando porque implementar y probar cada modelo costará una cantidad respetable de tiempo. Sin mencionar los posibles inconvenientes ocultos de los que no tengo conocimiento. – Vasaka

+0

Le sugiero que marque su pregunta para la migración a DBA.SE, hay más probabilidades de que se responda allí. No tengo idea acerca de los aspectos internos de HierarchyID y no muchos otros tampoco, supongo. –

Respuesta

3

Al haber usado HierarchyID y tablas de autorreferencia en diferentes proyectos, diría que HierarchyId gana sin problemas en términos de facilidad de consulta.
Consulte Querying a Hierarchical Table Using Hierarchy Methods para ver qué fácil puede ser con los métodos de consulta incorporados para HierarchyID.