Sono un novizio in SQL Server 2008 e appena introdotto in HierarchyId.Alcune domande su HierarchyId (SQL Server 2008)
Sto imparando da SQL Server 2008 - HIERARCHYID - PART I. Quindi, fondamentalmente sto seguendo la linea articolo di linea e mentre la pratica in SSMS ho scoperto che per ogni ChildId alcuni valori esadecimali sono generati come 0x, 0x58,0x5AC0 ecc
Le mie domande sono
- Cosa sono valori esadecimali?
- Perché questi sono generati e qual è il loro uso? Intendo dove posso usare quei valori hexa?
- Abbiamo alcun controllo su questi valori hexa? Voglio dire possiamo aggiornare ecc.
- Come determinare la gerarchia esaminando quei valori di hexa. Voglio dire come posso determinare quale è il genitore e quale è il bambino?
Suppongo ti riferisci a ricorsiva CTE, come CTE, in generale, non hanno nulla a che fare con le gerarchie. Anche in questo caso, questi due concetti non si escludono a vicenda e gerarchico ha prestazioni di gran lunga migliori rispetto a qualsiasi altro metodo che ho visto (quando indicizzato e usato correttamente). Una colonna gerarchico può anche essere combinata con altre colonne di tipo nested-set per eseguire query gerarchiche molto complesse con prestazioni di ricerca dell'indice. Direi che la tua critica è infondata; hierarchyid è in effetti uno dei tipi di dati meno utilizzati in SQL 2008. – Aaronaught
Non è solo sottoutilizzato, è anche sottostimato. Non esiste alcun supporto per HierarchyId in LinqtoSQL o Entity Framework (il progettista dbml semplicemente non li toccherà). Questo è vero anche nel VS 2010 RC. –
Per alcuni di noi, HierarchyId è un'aggiunta tanto necessaria a SQL. Elimina la necessità di molte query ricorsive e può offrire significativi guadagni di prestazioni se usato correttamente. – Mark