Em primeiro lugar, questiono o uso de uma junção externa, visto que a ordem está operando no rhs, e os NULL's injetados pela junção esquerda provavelmente causarão estragos nela.
Independentemente disso, a abordagem mais simples para acelerar essa consulta seria um índice de cobertura em pb.id_brand e pb.brand. Isso permitirá que a ordem seja avaliada 'usando índice' com a condição de junção. A alternativa é encontrar alguma forma de reduzir o tamanho do resultado intermediário passado para o order-by.
Ainda assim, a combinação de outer-join, order-by e limit me deixa imaginando o que exatamente você está consultando e se pode não haver uma maneira melhor de expressar a consulta em si.