Jump to content

40.000 Produits impossible ?


Recommended Posts

Bonjour,

 

J'utilise actuellement un site tournant sous Oscommerce, je souhaite effectuer une migration de mes données vers Prestashop pour plus de confort.

La base comporte environ 40.000 produits.

J'ai fait un premier essai sur mon serveur dédié avec un prestashop de base en important les 40.000 produits, je n'arrivais plus à afficher la home du PS.

J'ai donc mis 10000 produits dont 3000 dans une catégories et j'obtiens plus de 10s de temps de chargement, les logs mysql s'affolent à la vue de cette requête notamment et moi aussi !

 

SELECT p.*, product_shop.*, stock.out_of_stock, IFNULL(stock.quantity, 0) as quantity, MAX(product_attribute_shop.id_product_attribute) id_product_attribute, product_attribute_shop.minimal_quantity AS product_attribute_minimal_quantity, pl.`description`, pl.`description_short`, pl.`available_now`,
 pl.`available_later`, pl.`link_rewrite`, pl.`meta_description`, pl.`meta_keywords`, pl.`meta_title`, pl.`name`, MAX(image_shop.`id_image`) id_image,
 il.`legend`, m.`name` AS manufacturer_name, cl.`name` AS category_default,
 DATEDIFF(product_shop.`date_add`, DATE_SUB(NOW(),
 INTERVAL 20
  DAY)) > 0 AS new, product_shop.price AS orderprice
FROM `ps_category_product` cp
LEFT JOIN `ps_product` p
 ON p.`id_product` = cp.`id_product`
 INNER JOIN ps_product_shop product_shop
 ON (product_shop.id_product = p.id_product AND product_shop.id_shop = 1)
LEFT JOIN `ps_product_attribute` pa
ON (p.`id_product` = pa.`id_product`)
 LEFT JOIN ps_product_attribute_shop product_attribute_shop
 ON (product_attribute_shop.id_product_attribute = pa.id_product_attribute AND product_attribute_shop.id_shop = 1 AND product_attribute_shop.`default_on` = 1)
 LEFT
  JOIN ps_stock_available stock
  ON (stock.id_product = p.id_product AND stock.id_product_attribute = IFNULL(`product_attribute_shop`.id_product_attribute, 0) AND stock.id_shop = 1  )
LEFT JOIN `ps_category_lang` cl
 ON (product_shop.`id_category_default` = cl.`id_category`
 AND cl.`id_lang` = 1 AND cl.id_shop = 1 )
LEFT JOIN `ps_product_lang` pl
 ON (p.`id_product` = pl.`id_product`
 AND pl.`id_lang` = 1 AND pl.id_shop = 1 )
LEFT JOIN `ps_image` i
 ON (i.`id_product` = p.`id_product`) LEFT JOIN ps_image_shop image_shop
 ON (image_shop.id_image = i.id_image AND image_shop.id_shop = 1 AND image_shop.cover=1)
LEFT JOIN `ps_image_lang` il
 ON (image_shop.`id_image` = il.`id_image`
 AND il.`id_lang` = 1)
LEFT JOIN `ps_manufacturer` m
 ON m.`id_manufacturer` = p.`id_manufacturer`
WHERE product_shop.`id_shop` = 1
 AND cp.`id_category` = 511 AND product_shop.`active` = 1 AND product_shop.`visibility` IN ("both", "catalog") GROUP BY product_shop.id_product ORDER BY cp.`position` asc
  LIMIT 0,10;

 

Ma question est donc de savoir si il est envisageable d'utiliser PS pour un catalogue aussi important et si oui faut t'il l'alléger de sa base ?

 

Cordialement,

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...