Це відповідь на питання Кірка "чому б не використати його (HierarchyId)". У порівнянні з матеріалізованим шляхом, у деяких важливих випадках HierarchyId здається менш ефективними та менш зручними для роботи.
Причина проста: цитуючи коментар Microsoft щодо Connect , "Проблема полягає в тому, що виклики CLR, включаючи методи ієрархіїID, непрозорі для оптимізатора запитів. Це задумано. Однак це означає, що оцінка їхньої простоти іноді може бути досить неправильно ».
З іншого боку, реалізувати матеріалізований шлях дуже просто, перший раз, коли нам це потрібно зробити, а наступного разу це по суті завдання копіювання та вставки. Таким чином, ми отримуємо більш універсальне та ефективніше рішення з дуже невеликими зусиллями.
Тож я повністю погоджуюся з Полом Нільсеном, який у своїй чудовій книзі під назвою "Microsoft® SQL Server® Біблія 2008" написав так: "Новий Ієрархій не без суперечок. Він новий і отримує багато часу для преси та демонстрації, але я" я не впевнений, що це проблема, яка потребувала іншого рішення ".