我已经将在线商店从1.4更新到1.5最新版本,但我有一些问题。当我加载特定类别页面时,产品具有不同的功能,它加载大约10秒钟。
缓慢加载类别:http://new.vikav.ee/en/103-cookingblocks(80多种产品)
正常加载类别:http://new.vikav.ee/en/96-kitchen-sinks(300多种产品)
9044.962 ms
SELECT SQL_NO_CACHE 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 30 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` = 6
AND cl.id_shop = 1)
LEFT JOIN `ps_product_lang` pl ON (p.`id_product` = pl.`id_product`
AND pl.`id_lang` = 6
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` = 6)
LEFT JOIN `ps_manufacturer` m ON m.`id_manufacturer` = p.`id_manufacturer`
WHERE product_shop.`id_shop` = 1
AND cp.`id_category` = 103
AND product_shop.`active` = 1
AND product_shop.`visibility` IN ("both",
"catalog")
GROUP BY product_shop.id_product
ORDER BY p.`date_add` ASC LIMIT 0,25
/> /var/www/web1080/html/vikav/classes/Category.php:659
使用FILESORT - 浏览了2544行
也许有人可以帮我优化这个查询,或者只是指出问题出在哪里?
致以最诚挚的问候,
答案 0 :(得分:1)
prestashop中的一个大问题是糟糕的缓存管理系统,它几乎总是在同一时间进行写入和读取。
但是,最适合您的解决方案仍然是启用和优化此缓存。尝试启用默认值,然后添加apc(如果可以)。
如果您的产品不应该改变很多(例如在一天内多次),也尝试将SQL_NO_CACHE更改为SQL_CACHE