Z vašich značek a názvu předpokládám, že hledáte řešení, které by fungovalo s MySQL .
Ano, máte pravdu, že pokud předem neznáte počet prvků, hodnota right
je třeba počítat dynamicky. Můžete použít dva přístupy:
- Můžete začít s nejmenší hodnotou, která funguje (v tomto případě 2), a později ji podle potřeby zvýšit.
- Mohli byste jen odhadnout 1 000 000 a doufat, že to bude stačit, ale musíte být připraveni na možnost, že to nestačilo a možná bude potřeba později znovu upravit.
V obou případech musíte implementovat to left
a right
hodnoty pro více řádků může být nutné upravit při vkládání nových řádků, ale ve druhém případě stačí aktualizace provést pouze v případě, že byly vaše odhady špatné. Takže druhé řešení je složitější, ale může poskytnout lepší výkon.
Všimněte si, že ze čtyř běžných způsobů ukládání heirarchických dat je přístup vnořených sad nejtěžší provádět vkládání a aktualizace. Viz snímek 69 od Billa Karwina Modely pro heirarchická data .