Ini adalah jawaban untuk pertanyaan Kirk 'mengapa tidak menggunakannya (HierarchyId)'. Dibandingkan dengan jalur terwujud, dalam beberapa kasus penting HierarchyId tampaknya kurang berkinerja dan kurang nyaman untuk bekerja dengannya.
Alasannya sederhana: mengutip dari komentar Microsoft pada Connect , "Masalahnya adalah bahwa panggilan CLR, termasuk metode hierarkiID, tidak jelas untuk pengoptimal kueri. Ini adalah desain. Namun, itu berarti bahwa perkiraan kardinalitas untuk mereka kadang-kadang bisa sangat salah."
Di sisi lain, mengimplementasikan jalur terwujud sangat mudah saat pertama kali kita perlu melakukannya, dan lain kali pada dasarnya merupakan tugas salin dan tempel. Jadi, kami mendapatkan solusi yang lebih fleksibel dan berkinerja lebih baik dengan sedikit usaha.
Jadi saya sepenuhnya setuju dengan Paul Nielsen, yang menulis dalam bukunya yang sangat bagus yang berjudul "Microsoft® SQL Server® 2008 Bible" sebagai berikut: "HierarchyID baru bukan tanpa kontroversi. Ini baru dan mendapat banyak waktu pers dan demo, tetapi saya ' Saya tidak yakin itu masalah yang membutuhkan solusi lain. "