Я новичок в SQL Server 2008 и только что познакомился с HierarchyId's.Некоторые вопросы о HierarchyId (SQL Server 2008)
Я учусь от SQL Server 2008 - HIERARCHYID - PART I. Поэтому в основном я после статьи построчно и во время практики в SSMS я обнаружил, что для каждого ChildId некоторые шестнадцатеричные значения генерируются как 0x, 0x58,0x5AC0 и т.д.
Мои вопросы
- Что это шестнадцатеричные значения?
- Почему они созданы и каково их использование? Я имею в виду, где я могу использовать эти значения гекса?
- Есть ли у нас контроль над этими значениями гекса? Я имею в виду, можем ли мы обновить и т. Д.
- Как определить иерархию, просмотрев эти значения гекса. Я имею в виду, как я могу определить, кто является родителем и является дочерним?
Я предполагаю, что вы имеете в виду рекурсивной КТР, а КТР вообще не имеют ничего общего с иерархией. Даже тогда эти два понятия не являются взаимоисключающими, и иерархия имеет гораздо лучшую производительность, чем любой другой метод, который я видел (при индексировании и использовании правильно). Столбец иерархии также может быть объединен с другими столбцами типа вложенного набора для выполнения очень сложных иерархических запросов с показателем индекса. Я бы сказал, что ваша критика необоснованна; Иерархия является на самом деле одним из самых недоиспользуемых типов данных в SQL 2008. – Aaronaught
Это не только недостаточно, но и поддерживается. Не поддерживается поддержка HierarchyId в LinqtoSQL или Entity Framework (разработчик dbml просто не тронет их). Это справедливо даже в VS 2010 RC. –
Для некоторых из нас HierarchyId является очень необходимым дополнением к SQL. Это устраняет необходимость во многих рекурсивных запросах и может приносить правильную прибыль при значительном повышении производительности. – Mark