Rekursiva funktioner är ofta långsamma. Behöver du räkna med svarstid från SQL för varje rekursion finns det än mer anledning att hålla sig borta från det.
Det finns något som heter "Nested set model" som är desto mer effektivt. Läs på t ex
http://scvinodkumar.wordpress.com/20...data-in-mysql/
Eller googla på hierarchical data in MySQL (eller annan dbms) eller nested set model.
Ett alternativ är att denormalisera och spara hela sökvägen i varje post, men det blir istället ineffektivt och komplicerat vid uppdateringar.