Como reparar uma árvore MPTT corrompida (conjunto aninhado) no banco de dados usando o SQL?

Eu tenho uma árvore MPTT de mais de 100.000 registros armazenados no MySQL usandolft, rght eparent_id colunas. Agora, os valores esquerdo / direito foram corrompidos, enquanto os IDs pai ainda estão intactos. Seria necessário toneladas de consultas para repará-lo na camada de aplicação. Existe uma boa maneira de sobrecarregar o banco de dados e recalcular os valores esquerdo / direito usando apenas SQL?

Só para esclarecer, preciso recalcular os valores numéricos de lft / rght de umconjunto aninhado, não os IDs dos registros vizinhos.

O conjunto aninhado http://dev.mysql.com/tech-resources/articles/hierarchical-data-4.png

questionAnswers(4)

yourAnswerToTheQuestion