Ten eerste betwijfel ik het gebruik van een outer join, aangezien de order by op de rhs werkt, en de NULL's die door de linker join worden geïnjecteerd, er waarschijnlijk een ravage aan aanrichten.
Hoe dan ook, de eenvoudigste manier om deze zoekopdracht te versnellen, is een dekkende index op pb.id_brand en pb.brand. Hierdoor kan de order by worden geëvalueerd 'met behulp van index' met de join-voorwaarde. Het alternatief is om een manier te vinden om de grootte van het tussenresultaat dat wordt doorgegeven aan de order-by te verkleinen.
Toch laat de combinatie van outer-join, order-by en limit me afvragen waar je precies naar zoekt en of er geen betere manier is om de vraag zelf uit te drukken.