Ja, det finns ett mycket bättre sätt. Den så kallade modifierade pre-order tree traversal algoritmen. Du kan hitta massor av information genom att googla det här, och jag är säker på att det också är stack overflow.
Fördelarna är att du kan hämta ett helt underträd med bara en fråga. SELECTS kommer att vara snabba, men ändringar är tyngre.