Migliorare performance query con 5 join

di il
1 risposte

Migliorare performance query con 5 join

Salve ragazzi,

tramite un programmino java locale faccio accesso ad un database presente su una vps le cui tabelle implicate hanno in media circa 1500 record.

Purtroppo nonostante i record non siano tantissimi ho problemi di performance circa 10sec per l'estrazione.

La query è la seguente:
SELECT DISTINCT P.advanced_stock_management, PA.id_product, PA.reference, PL.name, round(P.wholesale_price,2), round((P.price + P.price * 22 / 100),2), round(SP.reduction,2), SA.quantity, PQ.is_true
FROM db.ps_product AS P
INNER JOIN db.ps_product_attribute AS PA on P.id_product=PA.id_product
INNER JOIN db.ps_product_lang AS PL on PA.id_product=PL.id_product
INNER JOIN db.ps_stock_available AS SA on SA.id_product_attribute=PA.id_product_attribute
LEFT OUTER JOIN db.ps_product_quantity_real AS PQ on PA.id_product=PQ.id_product AND PA.reference=PQ.reference
LEFT OUTER JOIN db.ps_specific_price AS SP on PA.id_product=SP.id_product
WHERE P.active = 1;

Vi chiedo se mi potete dare una mano per migliorare la struttura della query ed aumentare le prestazioni.

Grazie in anticipo.

1 Risposte

  • Re: Migliorare performance query con 5 join

    Senza conoscere la strutture delle tabelle?
    Senza conoscere le chiavi primarie?
    Senza conoscere gli indici ?

    Ci vorrebbe un indovino.

    Già quel DISTINCT induce alla riflessione...
Devi accedere o registrarti per scrivere nel forum
1 risposte