Sto leggendo la bibbia del server SQL 2008 e il pattern di percorso materializzato è significativamente più veloce della gerarchia. È proprio vero? Come posso fare in modo che la gerarchia delle gerarchia abbia prestazioni uguali o migliori.Percorso percorso materializzato VS Hierarchyid
risposta
Il capitolo illustra tre metodi per la progettazione e l'interrogazione delle gerarchie: coppie di adiacenza, percorso materializzato e gerarchia. Queste sono tre soluzioni allo stesso problema quindi sì, ha perfettamente senso confrontare questi tre metodi. La verità è che il percorso materializzato è il più veloce ma le coppie di adiacenza possono risolvere più tipi di problemi di gerarchia. HierarchyID è goffo, difficile da interrogare e, se segui la raccomandazione di MSFT, memorizza solo la posizione relativa, non la chiave, quindi è meno robusta.
Intendi dire percorso materializzato contro insiemi nidificati o? Un modello di percorso materializzato può impiegare un tipo di dati hiearchyid. Non ha senso confrontare la velocità di un modello rispetto a un tipo di dati.
Sì, nella bibbia del server SQL 2008, confrontano il modello di percorso materializzato e la gerarchia. Anche se il hierarchyid utilizza il percorso materializzato, non utilizza completamente tutte le sue funzionalità. Quindi l'autore li ha confrontati fianco a fianco e ha detto che il percorso materializzato è molto più performante di quello gerarchico. Non capisco come possa essere! – Luke101
Heh ... Ero solito pensare al tipo di dati HierarchyID e ai suoi metodi. Dopo averlo usato per un solo giorno, non trovo nulla di quello che hai detto a proposito di essere goffo, di difficile interrogazione. Se mantenuto nella stessa tabella con l'elenco Adjacency, ho trovato che è abbastanza robusto e non il carico di prestazioni che la maggior parte ha sostenuto. Credo che dovrò scavare nella "Bibbia del server SQL 2008" e vedere cosa succede. Sto anche impostando alcuni test di milioni di righe tra HierarchyID e Nested Sets. –
Adjacency Pair o Self Join con CTE Expression hanno risolto il problema in cui dovevo ottenere un elenco di codici di settore e di esercitazione. Grazie Paolo! –