Tout d'abord, je remets en question l'utilisation d'une jointure externe étant donné que l'ordre par fonctionne sur les droites, et que les NULL injectés par la jointure gauche risquent de lui faire des ravages.
Quoi qu'il en soit, l'approche la plus simple pour accélérer cette requête serait un index de couverture sur pb.id_brand et pb.brand. Cela permettra à l'ordre d'être évalué « en utilisant l'index » avec la condition de jointure. L'alternative est de trouver un moyen de réduire la taille du résultat intermédiaire transmis au tri.
Néanmoins, la combinaison de jointure externe, de tri et de limite me laisse me demander ce que vous recherchez exactement et s'il n'y aurait pas une meilleure façon d'exprimer la requête elle-même.