Дизайн не очень (в смысле, а вдруг третья сущность?), но точно лучше чем json.
Странно, по названию они слегка похожи. А третьи-четвертые order будут?
Почему не хотите просто добавить transaction.super_order_id?
Планировщик ошибается. Может статистика сломалась? Vacuum?
Вы так не думаете?