Mysql
 sql >> Database >  >> RDS >> Mysql

Prestazioni MySQL, inner join, come evitare l'uso di filesort temporanei e filesort

Prima di tutto, metto in dubbio l'uso di un join esterno visto che l'ordine di sta operando sulla destra, ed è probabile che i NULL iniettati dal join sinistro creino il caos con esso.

Indipendentemente da ciò, l'approccio più semplice per accelerare questa query sarebbe un indice di copertura su pb.id_brand e pb.brand. Ciò consentirà di valutare l'ordine da 'utilizzando l'indice' con la condizione di unione. L'alternativa è trovare un modo per ridurre la dimensione del risultato intermedio passato all'ordine.

Tuttavia, la combinazione di outer-join, order-by e limit, mi fa chiedere che cosa stai esattamente chiedendo e se potrebbe non esserci un modo migliore per esprimere la query stessa.