Usando a consulta do MySQL para percorrer as linhas para criar uma árvore recursiva

Eu tenho uma tabela de lista de materiais que é configurada assim:
item - pai

O resultado final quando exibo a lista de materiais é que ela é exibida assim:

item 1  - parent 0    
    item 2 - parent 1    
    item 3 - parent 1    

O resultado final também pode ser multi nível como este:

item 3 - parent 0    
    item 4 - parent 3    
    item 76 - parent 3    

E isso pode continuar ad infinitum:

item 76 - parent 0    
    item 46 - parent 76    

item 46 - parent 0     
    item 25 - parent 46

No momento, eu só obtenho 1 nível do banco de dados:

SELECT * FROM bom WHERE parentId = $itemId (shorthand)

Ou puxe todas as linhas da mesa e use minha função recursiva para classificar apenas as que eu preciso, mas isso é obviamente ineficiente, já que eu posso precisar apenas de 10 linhas, mas eu puxo 10.000 registros. A saída da função recursiva irá apenas criar uma árvore como esta:

item 1
   item 2
   item 3
      item 4
      item 76
         item 46
            item 25

Tudo o que sei é que estou começando no item 1. O item 5 poderia ter um pai de 11; eles não precisam ir sequencialmente. Eu quero pegar todos os ramos da criança na árvore. Como eu poderia fazer essa consulta no mysql?

questionAnswers(4)

yourAnswerToTheQuestion