для удобства можно разбить, даже желательно, это нормальный тон для организации таблиц. причем в моем запросе можно будет 1 условие убрать p1.parent_id=0. и вообще чаще всего данные у parent и child разные. Но надо будет задуматься о id parent i child, данный запрос выводит id того и другого. а при разделении будет все подругому.
Но если как я уже писал, что child может быть parent\'ом для другого child ,бывает и такая структура, то сдесь естественно одна таблица.(и мой запрос тут бесилен)
Мой запрос для твоей задачи оптимален, как мне сказали.
P.S. переписывать желательно через алгоритм

.