• User Newbie

    Ottimizzazione query per Virtuemart

    # Time: 100803 17:56:14
    # User@Host: XXX[XXX] @ localhost [] # Query_time: 12  Lock_time: 0  Rows_sent: 1  Rows_examined: 1636275 use XXX_db; SELECT COUNT(DISTINCT `jos_vm_product`.`product_sku`) as num_rows FROM (`jos_vm_product`, `jos_vm_category`, `jos_vm_product_category_xref`,`jos_vm_shopper_group`) LEFT JOIN `jos_vm_product_price` ON `jos_vm_product`.`product_id` = `jos_vm_product_price`.`product_id` WHERE (`jos_vm_product_category_xref`.`product_id`=`jos_vm_product`.`product_id` OR `jos_vm_product_category_xref`.`product_id`=`jos_vm_product`.`product_parent_id`)
     AND `jos_vm_product_category_xref`.`category_id`=`jos_vm_category`.`category_id`
     AND `jos_vm_product_category_xref`.`category_id`=7
     AND ((`jos_vm_product`.`product_id`=`jos_vm_product_price`.`product_id` AND `jos_vm_shopper_group`.`shopper_group_id`=`jos_vm_product_price`.`shopper_group_id`) OR `jos_vm_product_price`.`product_id` IS NULL)  AND `jos_vm_shopper_group`.`default` = 1  AND `product_parent_id`=0  AND `product_publish`='Y' 
     AND `category_publish`='Y';
    

    Ciao a tutti!
    Questa è una bella query di Virtuemart.. quello che vedete è il log che mi son fatto abilitare (slow_query_time).
    questa è l'unica query che sul mio bel serverino supera i 10 secondi.

    C'ho provato in ogni modo ma non riesco ad ottimizzarla.

    Qualcuno ha qualche buona idea a riguardo?