Cambiare la query che controlla le combinazioni presenti (per numero di attributi nel file ProductController.php (riga 630) con le seguenti istruzioni che spezzano la query per ottenere un significativo incremento delle prestazioni:

$id_pac = Db::getInstance()->executeS(‘SELECT pac.`id_product_attribute`
FROM `’._DB_PREFIX_.’product_attribute_combination` pac
INNER JOIN `’._DB_PREFIX_.’product_attribute` pa ON pa.id_product_attribute = pac.id_product_attribute
WHERE id_product = ‘.$this->product->id.’ AND id_attribute IN (‘.implode(‘,’, array_map(‘intval’, $current_selected_attributes)).’)
GROUP BY id_product_attribute
HAVING COUNT(id_product) = ‘.count($current_selected_attributes).”);
$values = array_map(‘array_pop’, $id_pac);

$id_attributes = Db::getInstance()->executeS(‘SELECT `id_attribute` FROM `’._DB_PREFIX_.’product_attribute_combination` pac2
WHERE `id_product_attribute` IN (
‘ . implode(‘,’,$values) . ‘
) AND id_attribute NOT IN (‘.implode(‘,’, array_map(‘intval’, $current_selected_attributes)).’)’);

Leave a Reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>